Skip to content

Latest commit

 

History

History
147 lines (104 loc) · 16.8 KB

CHANGELOG-1.9.md

File metadata and controls

147 lines (104 loc) · 16.8 KB

v1.9.1 - 2024-12-23

Changelog since v1.9.0

Changes by Kind

Feature

  • 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 (#3503, @kubermatic-bot)
  • Add support for the KubeVirt CSI driver. The CSI driver is deployed automatically for all KubeVirt clusters (unless .cloudProvider.disableBundledCSIDrivers is set to true). A new optional field, .cloudProvider.kubevirt.infraClusterKubeconfig, has been added 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. (#3512, @kubermatic-bot)
  • Update OpenStack CCM and CSI driver to v1.31.2 and v1.30.2 (#3489, @kubermatic-bot)

Bug or Regression

  • Fix an error message appearing in the KubeOne UI for clusters that don't have any Machine/MachineDeployment (#3480, @kubermatic-bot)

Other (Cleanup or Flake)

  • Use dedicated keyring for Docker repositories to solve apt-key deprecation warning upon installing/upgrading containerd (#3485, @kubermatic-bot)

Updates

Others

v1.9.0 - 2024-11-22

We're happy to announce a new KubeOne minor release — KubeOne 1.9! Please consult the changelog below, as well as, the following two documents before upgrading:

Changelog since v1.8.0

Urgent Upgrade Notes

(No, really, you MUST read this before you upgrade)

  • Add support for Ubuntu 24.04. Example Terraform configs for all providers are now using Ubuntu 24.04 by default. If you're using the latest Terraform configs with an existing cluster, make sure to bind the operating system/image to the image that you're currently using, otherwise your instances/cluster might get recreated by Terraform. On some providers, machine-controller will use Ubuntu 24.04 if the image is not explicitly specified. (#3302, @SimonTheLeg)
  • Example Terraform configs for Hetzner are now using cx22 instead of cx21 instance type by default. If you use the latest Terraform configs with an existing cluster, make sure to override the instance type as needed, otherwise your instances/cluster might get recreated by Terraform. (#3370, @kron4eg)
  • KubeOne is now validating that IP addresses and hostnames provided for control plane nodes and static worker nodes are different. In other words, it's not possible to use the same machine both as a control plane node and a static worker node. This behavior has never been supported by KubeOne; if you want a control plane node that can schedule any pod, you can provision it as a control plane node and remove the control plane taint (node-role.kubernetes.io/control-plane:NoSchedule). (#3334, @kron4eg)
  • Update Cilium to v1.16.3. This change might affect users that have nodes that are low on capacity (pods or resources wise). The Cilium architecture has been changed so that the Envoy Proxy is not integrated into Cilium, but is a dedicated component/DaemonSet. If you have nodes that are low on capacity, you might encounter issues when trying to start Envoy Proxy pods on those nodes. In this case, you'll need to override the Cilium addon to use the old architecture with Envoy Proxy integrated into Cilium. (#3415, @xmudrii)
  • kubeone install and kubeone upgrade subcommands are removed. We have deprecated these commands in KubeOne 1.4, and made them hidden in KubeOne 1.5. With this change, we're permanently removing these two commands. kubeone apply should be used instead. (#3349, @mohamed-rafraf)

Changes by Kind

Deprecations and Removals

  • Remove support for Kubernetes 1.28. kubeone migrate to-ccm-csi and kubeone migrate to-containerd commands are hidden and will be removed in a future KubeOne release because they cannot be used with Kubernetes v1.29+ clusters (#3417, @xmudrii)
  • Super-admin kubeconfig (/etc/kubernetes/super-admin.conf) automatically generated by kubeadm is now removed from the nodes. (#3319, @kron4eg)

API Change

  • Add .containerRuntime.containerd.deviceOwnershipFromSecurityContext option to the KubeOneCluster API used to enable/disable device_ownership_from_security_context option in the containerd configuration. This option is at the moment only applied to the control plane nodes and the static worker nodes. This field is set to false by default in the KubeOneCluster v1beta2 API, but it'll be set to true by default in the KubeOneCluster v1beta3 API. If you don't want to use this option, we recommend explicitly disabling it to avoid any potential issues after migrating to the KubeOneCluster v1beta3 API (#3392, @kron4eg)
  • Add .helmRelease[*].wait and .helmRelease[*].timeout fields to the KubeOneCluster API to allow configuring wait and timeout parameters for Helm releases installed by the KubeOne Helm integration (#3190, @mohamed-rafraf)

Feature

  • Add support for Kubernetes v1.31 (#3358, @xmudrii)
  • Migrate PersistentVolumeClaims (PVCs) upon upgrading to Kubernetes v1.31 to remove .status.allocatedResourceStatus if needed as instructed by the Kubernetes v1.31.0 changelog (#3361, @xmudrii)
  • Add new kubeone kubeconfig generate command with an option to generate kubeconfig file with the custom permissions and properties (#3319, @kron4eg)
  • Automatically delete unused container images after upgrading the cluster (#3348, @mohamed-rafraf)
  • Add support for enabling config drive on OpenStack (#3317, @ahmedwaleedmalik)
  • Initial implementation of the KubeVirt provider for KubeOne. At the moment, the provider only supports deploying machine-controller and operating-system-manager for the KubeVirt-based clusters. Terraform integration, CCM, CSI, and other cloud provider specific components are not supported and/or deployed automatically at the moment. (#3416, @xmudrii)
  • Add the technical preview of the KubeOne UI. At the moment, this is a read only UI allowing you to monitor the cluster status, mainly the health of the control plane nodes, components, and worker nodes. (#3203, @stroebitzer)

Bug or Regression

  • Use the RHEL upstream Docker package repository instead of the abandoned CentOS package repository (#3316, @kron4eg)
  • Upgrade the follower control plane nodes using individual tasks to avoid unnecessary retries on failure (#3301, @kron4eg)

Other (Cleanup or Flake)

  • Add the bastion host support to the example Terraform configs for VMware vCloud Director (#3277, @ahmedwaleedmalik)
  • Add disable_auto_update option to example Terraform configs for AWS, Azure, OpenStack, and vSphere, used to disable automatic updates for all Flatcar nodes (#3391, @xmudrii)
  • Add disable_auto_update option to example Terraform configs for Equinix Metal, used to disable automatic updates for all Flatcar nodes (#3398, @xmudrii)
  • Bind csi-snapshotter to v8.0.1 for all providers that are supporting snapshotting the volumes (#3269, @xmudrii)

Updates

machine-controller

operating-system-manager

containerd

CNIs

  • Update Canal CNI to v3.27.3 (#3199, @kron4eg)
  • Update Canal CNI to v3.28.0 (#3216, @samuelfischer)
  • Update Canal CNI to v3.28.1 to fix the CPU high load issues (#3327, @kron4eg)
  • Update Canal CNI and Calico VXLAN CNI addon to v3.28.2 (#3411, @xmudrii)
  • Update Cilium to v1.15.6 (#3214, @SimonTheLeg)
  • Update Cilium to v1.16.3. This change might affect users that have nodes that are low on capacity (pods or resources wise). The Cilium architecture has been changed so that the Envoy Proxy is not integrated into Cilium, but is a dedicated component/DaemonSet. If you have nodes that are low on capacity, you might encounter issues when trying to start Envoy Proxy pods on those nodes. In this case, you'll need to override the Cilium addon to use the old architecture with Envoy Proxy integrated into Cilium. (#3415, @xmudrii)

Cloud Provider integrations

Others