github kubermatic/machine-controller v1.60.0

3 days ago

Breaking Changes

This release contains changes that require additional attention, please read the following items carefully.

  • Move the machine-controller Go module from github.com/kubermatic/machine-controller to k8c.io/machine-controller. If you're using machine-controller types or packages, you'll have to update your code to use k8c.io/machine-controller (#1842)
  • User data plugins for machine-controller have been removed. Operating System Manager is the successor of user data plugins. It's responsible for creating and managing the required configurations for worker nodes in a Kubernetes cluster with better modularity and extensibility. Please refer to Operating System Manager for more details (#1789)

New Features

  • Add support for Kubernetes v1.31 (#1840)
  • Allow live migration by default (#1851)
  • Anexia: extend network configuration, allowing multiple interfaces and multiple IPs per interface (#1845)
  • Copy annotations from MachineDeployment to VMI (#1853)
  • KubeOVN vpc and subnet support (#1863)
  • Machine-controller now supports Kubernetes v1.30 (#1777)
  • OpenStack: Support enabling config drive (#1829)
  • Support KubeOVN as a provider network in KubeVirt (#1862)
  • Support Ubuntu 24.04 "Noble Numbat" (#1858)
  • Support for Hetzner arm64 architecture instances (#1816)
  • vSphere: Support for assigning VMs to VM groups (#1847)

API Changes

  • Move the machine-controller Go module from github.com/kubermatic/machine-controller to k8c.io/machine-controller. If you're using machine-controller types or packages, you'll have to update your code to use k8c.io/machine-controller (#1842)

Bugfixes

  • AWS: Increase HttpPutResponseHopLimit to 3 for EC2 instances (#1833)
  • AWS: fix AMI filter for rocky linux (#1801)
  • Anexia: you can now configure the CPU performance type (#1797)
  • Fix a bug where namespace kube-system was hardcoded for finding the MachineDeployment against a Machine (#1792)
  • KubeVirt: Modify networking default settings for KubeVirt machines, removing random mac address generation as default and supporting live-migration in bridge mode (#1856)

Cleanups

  • Drop cloud provider specific cloud-configs; OSM is responsible for generating and maintaining these cloud-configs (#1802)
  • Flags that were used to control user-data for machines have been deprecated. OSM should be used to configure those settings (#1812)
  • Remove support for Kubernetes v1.27 (#1823)
  • User data plugins for machine-controller have been removed. Operating System Manager is the successor of user data plugins. It's responsible for creating and managing the required configurations for worker nodes in a Kubernetes cluster with better modularity and extensibility. Please refer to Operating System Manager for more details (#1789)

Miscellaneous

  • Refactor the Tinkerbell provider (#1830)
  • Region and zone aware labels support (#1860)
  • Support storage as a another KubeVirt DataVolume storage definition (#1855)
  • Support zone-aware topologies in VMs, derived from storage classes (#1861)
  • Tinerkebll: cleanup workflows that are either in a pending state or timeout state (#1831)
  • vSphere: fix anti-affinity DRS configuration for VMs (#1779)

Updates

  • Machine-controller is now built using Go 1.23.2 (#1867)
  • Update to controller-runtime 0.18.2 (#1786)

Don't miss a new machine-controller release

NewReleases is sending notifications on new releases.