|
| 1 | +# [v1.10.0](https://github.com/kubermatic/kubeone/releases/tag/v1.10.0) - 2025-04-15 |
| 2 | + |
| 3 | +We're happy to announce a new KubeOne minor release — KubeOne 1.10! Please |
| 4 | +consult the changelog below, as well as, the following two documents before |
| 5 | +upgrading: |
| 6 | + |
| 7 | +- [Upgrading from KubeOne 1.9 to 1.10 guide](https://docs.kubermatic.com/kubeone/v1.10/tutorials/upgrading/upgrading-from-1.9-to-1.10/) |
| 8 | +- [Known Issues in KubeOne 1.10](https://docs.kubermatic.com/kubeone/v1.10/known-issues/) |
| 9 | + |
| 10 | +## Changelog since v1.9.0 |
| 11 | + |
| 12 | +## Urgent Upgrade Notes |
| 13 | + |
| 14 | +### (No, really, you MUST read this before you upgrade) |
| 15 | + |
| 16 | +- Disallow using machine-controller and operating-system-manager with the cloud provider `none` (`.cloudProvider.none`). If you're affected by this change, you have to either disable machine-controller and/or operating-system-manager, or switch from the cloud provider `none` to a supported cloud provider ([#3369](https://github.com/kubermatic/kubeone/pull/3369), [@kron4eg](https://github.com/kron4eg)) |
| 17 | +- The Calico VXLAN optional addon has been removed from KubeOne. This addon has been non-functional for the past several releases. If you still need and use this addon, we advise using the [addons mechanism](https://docs.kubermatic.com/kubeone/v1.9/guides/addons/) to deploy it ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 18 | +- The minimum kernel version for Kubernetes 1.32+ clusters is 4.19. Trying to provision a cluster with Kubernetes 1.32 or upgrade an existing cluster to Kubernetes 1.32, where nodes are not satisfying this requirement, will result in a pre-flight check failure ([#3590](https://github.com/kubermatic/kubeone/pull/3590), [@kron4eg](https://github.com/kron4eg)) |
| 19 | + |
| 20 | +## Changes by Kind |
| 21 | + |
| 22 | +### API Change |
| 23 | + |
| 24 | +- Add `.cloudProvider.kubevirt.infraNamespace` field to the KubeOneCluster API used to control what namespace will be used by the KubeVirt provider to create and manage resources in the infra cluster, such as VirtualMachines and VirtualMachineInstances ([#3487](https://github.com/kubermatic/kubeone/pull/3487), [@moadqassem](https://github.com/moadqassem)) |
| 25 | +- Add a new optional field, `.cloudProvider.kubevirt.infraClusterKubeconfig`, to the KubeOneCluster API used to provide a kubeconfig file for a KubeVirt infra cluster (a cluster where KubeVirt is installed). This kubeconfig can be used by the CSI driver for provisioning volumes. ([#3499](https://github.com/kubermatic/kubeone/pull/3499), [@moadqassem](https://github.com/moadqassem)) |
| 26 | +- Change `kubeProxyReplacement` Type in `CiliumSpec` into boolean ([#3535](https://github.com/kubermatic/kubeone/pull/3535), [@mohamed-rafraf](https://github.com/mohamed-rafraf)) |
| 27 | + |
| 28 | +### CLI Change |
| 29 | + |
| 30 | +- Always upgrade MachineDeployments to the target Kubernetes version upon running `kubeone apply` when the `--upgrade-machine-deployments` flag is set. Previously, MachineDeployments were upgraded only if the control plane was being upgraded ([#3528](https://github.com/kubermatic/kubeone/pull/3528), [@mohamed-rafraf](https://github.com/mohamed-rafraf)) |
| 31 | +- Display `ensure machinedeployment` message (action) upon running `kubeone apply` only if `--create-machine-deployments` flag is set (`true` by default) ([#3477](https://github.com/kubermatic/kubeone/pull/3477), [@MaximilianMeister](https://github.com/MaximilianMeister)) |
| 32 | +- Add Fish shell auto-completion support ([#3471](https://github.com/kubermatic/kubeone/pull/3471), [@chenrui333](https://github.com/chenrui333)) |
| 33 | + |
| 34 | +### Feature |
| 35 | + |
| 36 | +- Add support for Kubernetes 1.32 ([#3565](https://github.com/kubermatic/kubeone/pull/3565), [@kron4eg](https://github.com/kron4eg)) |
| 37 | +- Add support for the KubeVirt CSI driver. The CSI driver is deployed automatically for all KubeVirt clusters (unless `.cloudProvider.disableBundledCSIDrivers` is set to `true`) ([#3499](https://github.com/kubermatic/kubeone/pull/3499), [@moadqassem](https://github.com/moadqassem)) |
| 38 | +- Label the control plane nodes before applying addons and Helm charts to allow addons and Helm charts to utilize the control plane label selectors ([#3544](https://github.com/kubermatic/kubeone/pull/3544), [@mohamed-rafraf](https://github.com/mohamed-rafraf)) |
| 39 | +- Add `insecure` parameter to the `backups-restic` addon used to disable/skip the TLS verification ([#3522](https://github.com/kubermatic/kubeone/pull/3522), [@steled](https://github.com/steled)) |
| 40 | + |
| 41 | +### Bug or Regression |
| 42 | + |
| 43 | +- Restart kubelet only after other upgrade tasks has been successfully completed. This fixes an issue where pods fail to start after the node is upgraded due to the `CreateContainerConfigError` error ([#3583](https://github.com/kubermatic/kubeone/pull/3583), [@kron4eg](https://github.com/kron4eg)) |
| 44 | +- KubeOne will remove orphaned etcd members when the control plane count is less than the number of etcd ring members ([#3584](https://github.com/kubermatic/kubeone/pull/3584), [@ahmedwaleedmalik](https://github.com/ahmedwaleedmalik)) |
| 45 | +- Resolve the `clusterID` conflicts in cloud-config for AWS by prioritizing the cluster name from the Terraform configuration ([#3534](https://github.com/kubermatic/kubeone/pull/3534), [@mohamed-rafraf](https://github.com/mohamed-rafraf)) |
| 46 | +- Drop trailing slash from the `VSPHERE_SERVER` variable to ensure compatibility with machine-controller and vSphere CCM and CSI ([#3537](https://github.com/kubermatic/kubeone/pull/3537), [@kron4eg](https://github.com/kron4eg)) |
| 47 | +- Cleanup the stale objects from the `unattended-upgrades` addon removed in KubeOne 1.8 ([#3538](https://github.com/kubermatic/kubeone/pull/3538), [@kron4eg](https://github.com/kron4eg)) |
| 48 | +- Fix an error message appearing in the KubeOne UI for clusters that don't have any Machine/MachineDeployment ([#3476](https://github.com/kubermatic/kubeone/pull/3476), [@soer3n](https://github.com/soer3n)) |
| 49 | +- Add `caBundle` volumeMounts to the `backups-restic` addon ([#3560](https://github.com/kubermatic/kubeone/pull/3560), [@kron4eg](https://github.com/kron4eg)) |
| 50 | + |
| 51 | +### Other (Cleanup or Flake) |
| 52 | + |
| 53 | +- CNI plugins (`kubernetes-cni`) version on Flatcar now depends on the Kubernetes version ([#3632](https://github.com/kubermatic/kubeone/pull/3632), [@kron4eg](https://github.com/kron4eg)) |
| 54 | +- Use the GPG key from the latest Kubernetes package repository to fix failures to install older versions of Kubernetes packages ([#3524](https://github.com/kubermatic/kubeone/pull/3524), [@mohamed-rafraf](https://github.com/mohamed-rafraf)) |
| 55 | +- Use a dedicated keyring for Docker repositories to solve `apt-key` deprecation warning upon installing/upgrading containerd ([#3482](https://github.com/kubermatic/kubeone/pull/3482), [@kron4eg](https://github.com/kron4eg)) |
| 56 | +- Configure the `POD_NAMESPACE` environment variable for machine-controller-webhook on the KubeVirt clusters ([#3548](https://github.com/kubermatic/kubeone/pull/3548), [@moadqassem](https://github.com/moadqassem)) |
| 57 | +- Add 1 minute wait to the example Terraform configs for DigitalOcean to give enough time to freshly-created nodes to get upgraded and avoid issues with `apt-get` failing due to the `dpkg` lock file being present ([#3634](https://github.com/kubermatic/kubeone/pull/3634), [@kron4eg](https://github.com/kron4eg)) |
| 58 | + |
| 59 | +### Updates |
| 60 | + |
| 61 | +#### machine-controller |
| 62 | + |
| 63 | +- Update machine-controller to v1.61.1 ([#3630](https://github.com/kubermatic/kubeone/pull/3630), [@kron4eg](https://github.com/kron4eg)) |
| 64 | +- Update machine-controller to v1.61.0 ([#3546](https://github.com/kubermatic/kubeone/pull/3546), [@mohamed-rafraf](https://github.com/mohamed-rafraf)) |
| 65 | + |
| 66 | +#### operating-system-manager |
| 67 | + |
| 68 | +- Update operating-system-manager to v1.6.4 ([#3630](https://github.com/kubermatic/kubeone/pull/3630), [@kron4eg](https://github.com/kron4eg)) |
| 69 | + |
| 70 | +#### CNIs |
| 71 | + |
| 72 | +- Update Canal to v3.29.2 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 73 | +- Update Cilium to v1.17.1 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 74 | +- Update NodeLocalDNSCache to v1.25.0 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 75 | + |
| 76 | +#### Cloud Provider integrations |
| 77 | + |
| 78 | +- Update AWS CCM to v1.32.1, v1.31.5, and v1.30.7 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 79 | +- Update Azure CCM to v1.32.1, v1.32.2, v1.30.8 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 80 | +- Update AzureDisk CSI driver to v1.32.1 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 81 | +- Update AzureFile CSI driver to v1.32.0 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 82 | +- Update Hetzner CCM to v1.23.0 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 83 | +- Update Hetzner CSI to v2.13.0 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 84 | +- Update OpenStack CCM to v1.32.0 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 85 | +- Update OpenStack CCM and CSI driver to v1.31.2 and v1.30.2 ([#3484](https://github.com/kubermatic/kubeone/pull/3484), [@rajaSahil](https://github.com/rajaSahil)) |
| 86 | +- Update Nutanix CCM to v0.5.0 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 87 | +- Downgrade csi-external-snapshotter to v8.1.0 ([#3622](https://github.com/kubermatic/kubeone/pull/3622), [@kron4eg](https://github.com/kron4eg)) |
| 88 | + |
| 89 | +#### Others |
| 90 | + |
| 91 | +- KubeOne is now built with Go 1.23.4 ([#3509](https://github.com/kubermatic/kubeone/pull/3509), [@xmudrii](https://github.com/xmudrii)) |
| 92 | +- Update Helm client to v3.17.3 ([#3633](https://github.com/kubermatic/kubeone/pull/3633)) |
| 93 | +- Update Helm client to v3.17.2 ([#3587](https://github.com/kubermatic/kubeone/pull/3587), [@kron4eg](https://github.com/kron4eg)) |
| 94 | +- Update cluster-autoscaler to v1.32.0, v1.31.1, and v1.30.3 ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
| 95 | +- Update Restic to v0.17.3 in the `backups-restic` addon ([#3568](https://github.com/kubermatic/kubeone/pull/3568), [@kron4eg](https://github.com/kron4eg)) |
0 commit comments