KubeOps 2.2.0_Beta0
Categories:
4 minute read
KubeOps 2.2.0_Beta0 - Release Date 30.07.2026
Changelog KubeOpsCtl 2.2.0_Beta0
Whats new?
- Added Traefik support for kubeopsctl
- Added Kubevirt-Manager support for kubeopsctl
- Added Kubernetes 1.35 support
- 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
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
OpenSearch is not installed if a namespace other than
logging is used.
⚠ Warning
If Cilium is selected as the CNI, all dashboards are currently unavailable.
Versions KubeOps 2.2.0_Beta0
| Tool | App Version | Chart Version | Package Version | SHA256 Checksum |
|---|---|---|---|---|
| kernelmodules | kubeops/kernelmodules:2.2.0_Beta0 | 68d889dc1af5d7178ba726780002ef6d55632f8983cbde9bbeb6b62226d88715 | ||
| sysctl | kubeops/sysctl:2.2.0_Beta0 | 9383df73d75b712ba901a908a9164dcf2ee73c24816bc83ed6551576a67c3d48 | ||
| disable-swap | kubeops/disable-swap:2.2.0_Beta0 | 5a1649104ffd6eef6624a58c7f21f1afec0815b5ded7a377e03f0cb222cec6a9 | ||
| runtime-setup | kubeops/runtime-setup:2.2.0_Beta0 | ebb23938d9adba0291efdd452df0a609495a62687d38564639e033d8af6a02ab | ||
| kubeadm-init | kubeops/kubeadm-init:2.2.0_Beta0 | e0cb5a6f290bfcef9d44af0777f2f5f7889973192dcca90af5591bc12915b3c0 | ||
| local-registry | kubeops/local-registry:2.2.0_Beta0 | d8be4d7857acb6d4a934ed78f4d189006d7196dbe6b20c9c5641bdcf92c05ac0 | ||
| load-balancer | kubeops/load-balancer:2.2.0_Beta0 | 1b325d8da7f18dc31baff8f2be372e8c5e425dd30135238e791bfc21c416070f | ||
| initial-controlplane | kubeops/initial-controlplane:2.2.0_Beta0 | fd1f442342336d2d6c728dfe6b0da4e939701014f883042c370d7772df9eeeb8 | ||
| clustersetup | kubeops/clustersetup:2.2.0_Beta0 | 279fb5152212362d25d1a342d1f277bd231fb9a02f4726b14bcba1cbb0fc864f | ||
| kubernetes-cni | kubeops/kubernetes-cni:2.2.0_Beta0 | 95925111bd30f34e620763567012991ade1bdb5f29636ca8591e8e5723f4c864 | ||
| join-controlplane | kubeops/join-controlplane:2.2.0_Beta0 | 6a4bdd593b15bcc1ca2d8a0283ae860287d17ebc7e83ca802847aa89f59c97b2 | ||
| join-worker | kubeops/join-worker:2.2.0_Beta0 | 2247094d87204722f2891db7599ebcd1bbdf581467b19d5ed2c2e22a31185086 | ||
| pull-packages | kubeops/pull-packages:2.2.0_Beta0 | b4823f7c72cf684f442f9bc2363997f58cb582f36ac9ab0081dfc3842bedca57 | ||
| prepare-node | kubeops/prepare-node:2.2.0_Beta0 | f02718afb5ce35561384bc8cda3d541dbf45dc2adfc8a87237813299c1f3adb9 | ||
| firewall-setup | kubeops/firewall-setup:2.2.0_Beta0 | f23fb5a14ca317ad6b432c5331048e83176592fb648352df4c8739d73e2f80f1 | ||
| kube-vip | kubeops/kube-vip:2.2.0_Beta0 | 8c2076a66c589839c1c25da3311248da167a372abdea68d79e3b028691a27851 | ||
| delete-node | kubeops/delete-node:2.2.0_Beta0 | f874d4d02b72a3e6d5bce8669df1aa203cb9a9f8caaabe96d67974e8bf115315 | ||
| auditlog | kubeops/auditlog:2.2.0_Beta0 | c848ce79a3ab528a853efbcb671eaf1ff200db2319bb05fd167139b1ac31e9ba | ||
| kubeadm-upgrade-initial-controlplane | kubeops/kubeadm-upgrade-initial-controlplane:2.2.0_Beta0 | 4506d301c855428cc929156715e3af1c61cba0a33e6d084472b011cf81a812e4 | ||
| kubeadm-upgrade-nodes | kubeops/kubeadm-upgrade-nodes:2.2.0_Beta0 | 736023f7a1924a40a82f01fc18db3688d114e4329c454970e8c90fd339b29c46 | ||
| 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 | f7d5191a269dacfa12ad867b28b01bb7a80f506b6b01950c8a34c358bb22c6e3 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.32.2 | 954093914536cb21f6e8b407bd568210992d59db7ce80464ce12dd49679f4c35 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.32.9 | 6baff46de7291b425f42d64d7563a3e3e11acf9abb27b1b8b467bab0fa3b0485 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.32.9 | d421afe96680942236f1576f453a9685e99e93496c0ac9cc4d7a61c0dfcf2037 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.33.5 | 8b3e5ebbbfb8bdd4ce30990ab80f2a7ffadabeb0890f8fcf7f9365d9a3d2ef20 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.33.5 | 43960d74ba78ced9112aa5d46f58ffc053764a194e79631560b8ae79e17978ea | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.34.1 | be69bc3240dda743b185b8922e42ef2a535b24d4a01e83162e24c702d2214fea | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.34.1 | 20bec465d22a385cf72de606a1a7ee599cc4b7e5cc81a7e7b7c4aecbb89606a0 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.35.0 | ff2f7135ca0d3d1ecaa67d8463db4af75b06542024105c2b8fb6d0f02ddefc10 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.35.0 | 9d4b6dd4c9f9090ab8d20f1614f009b68c3479b07cdb347af57c3b5829932f05 | ||
| kubernetes-tools | kubeops/kubernetes-tools:1.36.1 | ed52d7537780edd3c434f9233f875e1a59c73cc2b2b9426bc6f3d43a2ee2d079 | ||
| kubernetes-tools-airgap | kubeops/kubernetes-tools-airgap:1.36.1 | e3d89e76f9924d27b7073353fb597442a23aeed8f8d797f5b76537acefb2e8da | ||
| calico | v3.29.1 | v3.29.1 | kubeops/calico:v3.29.2 | 64c1c281c2a87b2a158fd182e14301a8bf6f19f9ea5b07aa8a5d5d7fe94d9698 |
| calico-airgap | kubeops/calico-airgap:v3.29.2 | 5923f633ea4136a64f0c0ddf56069b109704b61e542a530378a686292b4d034c | ||
| cilium | 1.18.2 | 1.18.2 | kubeops/cilium:v1.18.3 | c4913943eaf2bea8e5fc75c57792866a28bbd64e577e6e2b7b049dda69d067f7 |
| cilium-airgap | kubeops/cilium-airgap:v1.18.3 | a334071a23cdd2330ea2c723993e18822522c900481fabe7f1ee12b4c849f5ab | ||
| multus | kubeops/multus:snapshot-thick2 | 186439bca4db89a9e23364bb77d000ccf906262d1db8d06716801563f9f9a72e | ||
| multus-airgap | kubeops/multus-airgap:snapshot-thick2 | 5a7f258eca3d534f37547de3c8126fba2c3e5e885fb6710abd62f08f22ede6de | ||
| wireguard-tools | kubeops/wireguard-tools:v1.0.20210914 | a6a521dfef6a550a658a5626cb15ab935cb1bfff99f82a2ced7b21317ab12fed | ||
| helm | kubeops/helm:v3.16.4 | 8e2def3efd54f2d149235e3ef71116c37514f7dcda81e8c793e081120c16f323 | ||
| podman | kubeops/podman:5.2.2 | 309d2cbae83687ef2bf151ad6486824348e807348bcd7cdadbecc1bc40db4f86 | ||
| ingress-nginx | 1.15.6 | 4.15.6 | kubeops/ingress-nginx:2.2.0_Beta0 | 57640157dbe06f169ab3e6a770a97bc83fb35269096bff37db498c5309e60bd3 |
| cert-manager | v1.18.2 | v1.18.2 | kubeops/cert-manager:2.2.0_Beta0 | 80870509663ad76eca9d2ec7147f43d1a89e21f1e31cb273d8d534c48621a47c |
| opa-gatekeeper | v3.17.1 | 3.17.1 | kubeops/opa-gatekeeper:2.2.0_Beta0 | dae0d519d56b4044c771105047df68c76db61df4e2660309714a118b220b88a8 |
| velero | 1.16.2 | 10.1.0 | kubeops/velero:2.2.0_Beta0 | 0769402efb9aae7f0d3c404aa5123f01d2324b1db167717147da324978a4d199 |
| rook-ceph | v1.15.6 | v1.15.6 | kubeops/rook-ceph:2.2.0_Beta0 | 0d98891d643524020f7062db66b6142b56d95933e8c118c456c4f24fc74e888d |
| rook-ceph-airgap | kubeops/rook-ceph-airgap:2.2.0_Beta0 | de2379884bcc658660706aef4729917f5fe41e093c8d9f5098d17a3dc2dd48b3 | ||
| harbor | 2.14.0 | 1.18.0 | kubeops/harbor:2.2.0_Beta0 | 34d3b20326be1be7e69d5242730394d4750c2b908378e543bc69b4d7a049db86 |
| harbor-airgap | kubeops/harbor-airgap:2.2.0_Beta0 | 406e9fe9e8a77d900f3126e93c215f82d8dbbb680554f7ce003ecb5dec5f5c4f | ||
| kube-prometheus-stack | v0.85.0 | 77.0.2 | kubeops/kube-prometheus-stack:2.2.0_Beta0 | bc2c5da217a58fa67040535dfbdd50933ee6f84411e7162e6c3de366275aa3c7 |
| keycloak | 16.8.0 | 1.2.0 | kubeops/keycloak:2.2.0_Beta0 | a18016f2079eab2153a594f17bd0e91706eac6a264bbfabf4bd016d2e7148734 |
| kubeops-dashboard | 0.26.0 | 0.26.0 | kubeops/kubeops-dashboard:2.2.0_Beta0 | d4922db9d47c5569ae563a96d72524fa8a0e54b5e2578f1c71b91a5e214b484d |
| filebeat-os | 8.5.1 | 8.5.1 | kubeops/filebeat-os:2.2.0_Beta0 | c98242a2488b0cd28782ba5435ca8bed6db6dc5a1d78625291192ad06a7db705 |
| logstash-os | 8.4.0 | 8.5.1 | kubeops/logstash-os:2.2.0_Beta0 | 3e07746ce9b02d08ddcc65e111f64435c0603819ae197c14fa0516bf237826c7 |
| opensearch-os | 3.4.0 | 3.4.0 | kubeops/opensearch-os:2.2.0_Beta0 | 755d96edd69433bbb2027833cea3768efc70ae717382b8dc89d2e290a18be3cf |
| opensearch-dashboards | 3.4.0 | 3.4.0 | kubeops/opensearch-dashboards:2.2.0_Beta0 | c7dcf941550bd41945cb589721a37f98f2e4593eb4d47d29499e12fd4f9a38ca |
| traefik | v3.6.7 | 39.0.0 | kubeops/traefik:2.2.0_Beta0 | a03d24eb8d153edcf4deefd8dd9a605be544e368018b9e9a0be06dcabe7579bf |
| kubevirt-manager | kubeops/kubevirt-manager:2.2.0_Beta0 | 22b89ccbd8b15fafd8ce25e7ba1b3c4818b81785e8d07d7414f022a1d52757a7 | ||
| kubevirt | kubeops/kubevirt:2.2.0_Beta0 | c41a51da0fa7cc21d1fa0f10914acb62e6473fb27c0e34b68d6f4e435c50f361 |