KubeOps 2.2.0_Beta1
Categories:
4 minute read
KubeOps 2.2.0_Beta1 - Release Date 02.08.2026
Changelog KubeOpsCtl 2.2.0_Beta1
Whats new?
- Added Traefik support for kubeopsctl
- Added Kubevirt-Manager support for kubeopsctl
- Added Kubernetes 1.36 support
- Added Advanced Parameters for static Registry mount path, check out the file format [Cluster Values YAML](/docs/kubeopsctl-2.0/reference/fileformats/#cluster-valuesyaml)
Fixes
- fixed a podman bug affecting pull packages
- fixed a harbor bug setting up cluster
- added creation of nginx ingressclass, when installing traefik for backwards compatabilty
- fixed default secret for kubeops-dashboard
- kubeopsctl pull command now verifies if the specified tool value file exists
- Added kubeops-harbor-secret for pulling images from the internal private harbor project 'kubeops'
- fixed a bug that prevented to create the kubeops harbor project as private
- fixed a bug that prevented to change the kubeops harbor project to private
- fixed a bug that prevented the image push of the kubernetes images to local-registry
- changed the 'localhost' reference to '127.0.0.1' for enterprise-tools in preperation for the kubernetes 1.36 support
- fix image push in local registry
- fixed duplicated coredns in 1.36.1
- updated kosi versions for consistent installation
- updated Harbor ImagePullSecret with 127.0.0.1 instead of master1 IP
- remove hardcoded plugin versions in cluster prepare node
- fixed a bug in rook delete section
- fixed a bug in nginx ingressclass for traefik
- added default secret for grafana
- added role bindings for the kubevirt roles
- fixed delete ingresses in update process
- OpenSearch users created in the Dashboards Security UI now persist across package updates
- OpenSearch TLS certificates are no longer regenerated on every install/update, preventing certificate rotation on running clusters
- Fixed OpenSearch SSO returning 401 Unauthorized by reliably applying the openid security configuration to the backend after deploy
- Added a Keycloak protocol mapper so realm roles are propagated to OpenSearch for backend role mapping
- Added Single Sign-On (SSO) with Keycloak (OpenID Connect) for OpenSearch and OpenSearch Dashboards
- Added username/password fallback authentication for OpenSearch alongside SSO
- Made the OpenSearch admin password configurable via the new `adminPassword` package value (opensearch-os & opensearch-dashboards)
- Added `hostname` package value for opensearch-os to point OpenSearch at the Keycloak SSO endpoint
- Refresh the Keycloak admin token before each step of the OpenSearch Dashboards OIDC join so long-running joins no longer fail with 401 once the 60s token lifespan is exceeded
- fixed an error in OpenSearch when it was not installed in the `logging` namespace
- fixed an issue in kubeopsctl where `tools-values.yaml` and `cluster-values.yaml` were not always stored as secrets in the cluster
- changed the netpols for traefik-nginx and ingress-nginx to make the dashboards available
- helm-plugin now parses the flags correctly in all possible actions (install, upgrade, delete)
- fixed missing kosi update on nodes, if packageRepository: local
- fixed missing opensearch-dashboards plugins and wrong version
- template network policies with default deny rules
- when installing the tools, apply cluster- and tools-values
Known Issues
⚠ Warning
In an air-gapped scenario, the Harbor external URL cannot be set to a public domain name. It must remain http://«controlplane1-ip»:30002.
⚠ Warning
WireGuard installation may fail when
packagerepo: local is used on cluster nodes that are not running Red Hat Enterprise Linux 9.6, due to its dependency on the systemd-resolved version included in the release.
⚠ Warning
If Cilium is selected as the CNI, all dashboards are currently unavailable.
Versions KubeOps 2.2.0_Beta1
| Tool | App Version | Chart Version | Package Version | SHA256 Checksum |
|---|---|---|---|---|
| kernelmodules | kubeops/kernelmodules:2.2.0_Beta1 | 476f5be30871160d6fef47f791f601f7a090a988dc0dd86de3c237b5aa5ef986 | ||
| sysctl | kubeops/sysctl:2.2.0_Beta1 | 3361e60dc684be44da3fbf6da355074219c4d03006a77445ec26b524f61ce83e | ||
| disable-swap | kubeops/disable-swap:2.2.0_Beta1 | e7fffe5cb73f9079c5d591293ba6b324314bd579c14dc4ff9a9866c356d11c09 | ||
| runtime-setup | kubeops/runtime-setup:2.2.0_Beta1 | 08c5d65c06522ef7a96f9218f9cced7969baf1a77170c922dd582c515a767c78 | ||
| kubeadm-init | kubeops/kubeadm-init:2.2.0_Beta1 | a42cb150cfd8b722c54736951b1008ef28a52972dd448b03e2b473d8db868f75 | ||
| local-registry | kubeops/local-registry:2.2.0_Beta1 | cd184da0d8963c7afa0226b452d5c90223d6c74a51430141f3545f9c1b13f4c2 | ||
| load-balancer | kubeops/load-balancer:2.2.0_Beta1 | ee9bf297c642b35e64da3a2ff5b6351a784afd4a50289affdeb881b0fca6a614 | ||
| initial-controlplane | kubeops/initial-controlplane:2.2.0_Beta1 | 3eeca78df9a2936886a8de3fd34bcd6f13e863a17219e7f971a58f8c1a7bae79 | ||
| clustersetup | kubeops/clustersetup:2.2.0_Beta1 | 823088a03fa9a79e1098ca79df305fec2a2f40f65c8727d9d2125b99c4adac9d | ||
| kubernetes-cni | kubeops/kubernetes-cni:2.2.0_Beta1 | a95ce6f24430a419541a747d48d7e8647eb970c21f73ffc632e676b6577c9288 | ||
| join-controlplane | kubeops/join-controlplane:2.2.0_Beta1 | cce1d2f21ed4fdb5cd5bd8af33a3a17bc63a5b6cf6b2ba8fbaa078f5675c0151 | ||
| join-worker | kubeops/join-worker:2.2.0_Beta1 | 8ce7e876cd88c6db2ae189d666c1e1cb6dabad09e1ea7e5131bcc852112b4b20 | ||
| pull-packages | kubeops/pull-packages:2.2.0_Beta1 | 2c1ab9b35d0c56a027471ec83da24a6bdcb1184005a03877aff04379b7ecd13c | ||
| prepare-node | kubeops/prepare-node:2.2.0_Beta1 | 9d197abcb9c845f47f6220e44b4be3d7af45e5c06c0ae9734001bd677f338dab | ||
| firewall-setup | kubeops/firewall-setup:2.2.0_Beta1 | 2ec1d78c693956e2bf7617d9b8cf695ecfc41c259e45f03e3fc59039f9428483 | ||
| kube-vip | kubeops/kube-vip:2.2.0_Beta1 | 21db077376cb1c69d6ada941aae9174a479fdbd5e397e8757a1034391a3bc0c6 | ||
| delete-node | kubeops/delete-node:2.2.0_Beta1 | 6745ba0018a95682a203205313ba5680d23cf26ac2e2b9263eaad2e372c77a4a | ||
| auditlog | kubeops/auditlog:2.2.0_Beta1 | a513f525362fd69bdd82f006f4cda1498ffb32fdd91c079a9a4a90c27475943a | ||
| kubeadm-upgrade-initial-controlplane | kubeops/kubeadm-upgrade-initial-controlplane:2.2.0_Beta1 | 240d9754f3221347c352cafbde7d84a818c6a384913626825712f94c6bd04b55 | ||
| kubeadm-upgrade-nodes | kubeops/kubeadm-upgrade-nodes:2.2.0_Beta1 | 3bfaa2a1142318c3fce2212ef183313dc03d57435e84e4d86f3ede042e32c4a7 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.30.8 | ee9e8e41552be2d90f1f19700c251fd77fe01da31eabec6a3fcab318b01ceb2c | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.30.8 | 2677d909cd257c0b75de2d4bd9e9d198148310a9ecbbca384996700a54d3a9df | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.31.6 | 0af110107067c17851375742d301f1da68aac2f732b626f8210ece17e17fd30b | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.31.6 | 41ac4282be31a9127ca403be3d0f03bab912e16e66f05febb506479574b3c4f1 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.32.2 | 9ddc947d61b69ff6121809d016411ffe50732a78b760e5d307f03dc24294e8da | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.32.2 | 0b6c07788c320786b5f7cce1c809bd7305e28fecb804c223fc9b1dae6ee7bb1b | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.32.9 | 5587a13d33096c92f52ced4947815c44554a82a49091dd9d78c8eaa065534f7c | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.32.9 | e4c34ddf29889d6a8f9075752a61a61fc62b7b7efa5e981d0d4ccbfc5cc1a939 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.33.5 | 2598dd0c50a7f1d38f1929f34bbfe0ce7efccb614b9f48d417c9285cb3e1b949 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.33.5 | 1f6000a20f57c17cf8c229269cb4c3abf076f68f336234d79dbb24656f4190f2 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.34.1 | 69ea34b7768e8de460f75b6a165a63b8de3e032d584fd43c4da87474d2e046ca | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.34.1 | 32f294ab19e6a2b3769044a728c0d6a4bebeb1d393aee061d68ebef0a7c83b2b | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.35.0 | 00fdeb8f3816b04661c9d866c89a3fa79dd743c1989709a7d7ff581010b9d7e6 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.35.0 | 64e3c2fbc81d2973cc28d05cc517687570c07d8b3a9194fe0ee33455669efc58 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.36.1 | 2b4ce27d375937f71b1760e93e19668de5e3c594ab332521cf7c1109560f0e34 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.36.1 | 079962600f3b361904d4972b6c59c10396630f62da0a33e6d1889142a10a0540 | ||
| calico | v3.29.1 | v3.29.1 | kubeops/calico:v3.29.2 | 3d492518bb31ad078f9e6e091ff2d22e43cac5a8b3f84c127571a1545a891833 |
| calico-airgap | kubeops/calico-airgap:v3.29.2 | 5923f633ea4136a64f0c0ddf56069b109704b61e542a530378a686292b4d034c | ||
| cilium | 1.18.2 | 1.18.2 | kubeops/cilium:v1.18.3 | 5451104fd9703d6039b6d6da6912bca5db62d9942f24b76549314a27774f0459 |
| cilium-airgap | kubeops/cilium-airgap:v1.18.3 | a334071a23cdd2330ea2c723993e18822522c900481fabe7f1ee12b4c849f5ab | ||
| multus | kubeops/multus:snapshot-thick2 | 3585956f2b1b1687ba01f2592682fda07dd34005f169666cc815a289b9945130 | ||
| multus-airgap | kubeops/multus-airgap:snapshot-thick2 | 746eee2272ab13281d7540a21d696226e806c0d13380fdcce554564c7b84e709 | ||
| wireguard-tools | kubeops/wireguard-tools:v1.0.20210914 | 70a49e1fec74e5c6b977e40264e1a084cd2f25d38a9df034141a9e165aea0f8c | ||
| helm | kubeops/helm:v3.16.4 | 8e2def3efd54f2d149235e3ef71116c37514f7dcda81e8c793e081120c16f323 | ||
| podman | kubeops/podman:5.2.2 | faa2ca5552df3cf46da6b0c4afc55220bb751e59319c1157e7f3652479bde4e4 | ||
| ingress-nginx | 1.15.6 | 4.15.6 | kubeops/ingress-nginx:2.2.0_Beta1 | d9db2892127d3dd895439854c33d0ee7aa6c8280b134e34c0db34bb292a70128 |
| cert-manager | v1.18.2 | v1.18.2 | kubeops/cert-manager:2.2.0_Beta1 | 2f146fdfc04ed39454d606ac0fdbaef792c9c414c8ae27a589b67320b442a528 |
| opa-gatekeeper | v3.17.1 | 3.17.1 | kubeops/opa-gatekeeper:2.2.0_Beta1 | ac240161a7e1bcbc7ae62baa9d8af038d01725d6e0a580229730aaa10436a3bf |
| velero | 1.16.2 | 10.1.0 | kubeops/velero:2.2.0_Beta1 | b9cf523e5d84b5aba7cf70a106fb38036abfd3182bee0f4b1fbf8450256d3ac9 |
| rook-ceph | v1.15.6 | v1.15.6 | kubeops/rook-ceph:2.2.0_Beta1 | 8507a3890439307573305c3412ed8a0605d89502b295c2933f5ff0ab3c691784 |
| rook-ceph-airgap | kubeops/rook-ceph-airgap:2.2.0_Beta1 | 63ba9218f2947992fb0878afe645d349c6d7c3c22e6f0c91ea9e2fad43f05101 | ||
| harbor | 2.14.0 | 1.18.0 | kubeops/harbor:2.2.0_Beta1 | bed605d28b7ab75076aff6e9cdd4c84e694897fa8b4b8537e515042740a04664 |
| harbor-airgap | kubeops/harbor-airgap:2.2.0_Beta1 | 5f11608c2056e38615655568b53112a3d5436b12c0cf9e6b457f5ea3884d8b70 | ||
| kube-prometheus-stack | v0.85.0 | 77.0.2 | kubeops/kube-prometheus-stack:2.2.0_Beta1 | 72690ac02de26e89fd22ab5c87ce4cf16b0d6f1e3bfa9c3abf626eb2f91556e6 |
| keycloak | 16.8.0 | 1.2.0 | kubeops/keycloak:2.2.0_Beta1 | fc50a1ed40b6ec5c57793f0ae5841565925794c4508a9be9fa7351aec0f506d7 |
| kubeops-dashboard | 0.26.0 | 0.26.0 | kubeops/kubeops-dashboard:2.2.0_Beta1 | ac2e1f7230adc914ec89c5d0ade57aacf917a2aa388b8897126ff7fcf0add526 |
| filebeat-os | 8.5.1 | 8.5.1 | kubeops/filebeat-os:2.2.0_Beta1 | 28e96f41bb3869a2cc360aed2117dc4a60dba115c62f74ef8016334a50b0c9ce |
| logstash-os | 8.4.0 | 8.4.0 | kubeops/logstash-os:2.2.0_Beta1 | d73fbac1760df25e7428cb717378fe3e38d98ac7c8f866e025fa9cb1eb7ec9c4 |
| opensearch-os | 3.4.0 | 3.4.0 | kubeops/opensearch-os:2.2.0_Beta1 | a11a77bb0e952c5269495720655004887ef939164fbe041fc9970c145b264b2a |
| opensearch-dashboards | 3.4.0 | 3.4.0 | kubeops/opensearch-dashboards:2.2.0_Beta1 | 316d7f0b3a5afa70e4822f1bddb0b14f579e4cd1fd54cb779ea9c0627f7489b9 |
| traefik | v3.6.7 | 39.0.0 | kubeops/traefik:2.2.0_Beta1 | b53231c94b4b72bdeee41f3dc44effb15937eb4ca78c864611b7fbca7413ed4b |
| kubevirt-manager | kubeops/kubevirt-manager:2.2.0_Beta1 | bff3c27b0fa086e1698472af19b5f7dc9f65be01de56c7f9982732418cffbb0c | ||
| kubevirt | kubeops/kubevirt:2.2.0_Beta1 | f569cd38ddeb894eeac4cf65f9758d1c8effc200ec214dcfe80ce569d5e34011 |