Gardener 0.12.0 released!



Most notable changes

  • [USER] The type field has been removed from the StorageClass deployed in OpenStack Shoots. Moreover, the StorageClasses deployed by Gardener are now reconciled and not only created once anymore. (#395, @afritzler)
  • [USER] Initializers for cloud-specific PersistentVolumes are now added by Gardener instead of the Kubernetes initializer admission plugin (to temporarily mitigate a runtime panic that would otherwise happen in the Kubernetes cloud-controller-manager (see kubernetes/kubernetes#68996 for more details)). (#392, @rfranzke)
  • [USER] When deleting a Shoot cluster Gardener does now forcefully delete CustomResourceDefinitions and APIServices if they have not been cleaned up regularly by their responsible controllers within 5 minutes. (#391, @Adracus)
  • [USER] Gardener does now delete pods stuck in terminating state longer than their deletion grace period allows. (#383, @rfranzke)
  • [USER] Failed Shoot operations are now retried when a different Gardener version takes over without requiring user interaction. (#382, @zanetworker)
  • [USER] All control plane components other than kube-controller-manager and cloud-controller-manager are now blocked via network policies from accessing the cloud’s metadata service. (#381, @zanetworker)
  • [USER] System component pods as well as addons managed by Gardener are now scheduled with a high priority using the Kubernetes pod priority feature. They might preempt pods created by users causing their eviction/deletion. Users should consider scaling up their cluster (either vertically or horizontally) in such cases. (#379, @rfranzke)
  • [USER] Gardener does now replace kube-dns with CoreDNS in all Shoot clusters. kube-dns is becoming deprecated, and CoreDNS is the new default DNS plugin for Kubernetes (as it is more pluggable and provides more features). (#364, @zanetworker)
  • [OPERATOR] The horizontal pod autoscaler downscale delay for shooted Seed clusters has been increased to 24h. (#397, @amshuman-kr)
  • [OPERATOR] The automatic-updates daemon on CoreOS is now disabled permanently, ensuring that the OS image version configured in Shoot resources is fixed. (8950d68)


  • [USER] The metrics-server deployment in Shoot cluster has been added to the deletion whitelist, i.e. Gardener won’t delete it when deleting a Shoot. This is due to the fact that the Kubernetes namespace controller requires to discover all APIs (including aggregated APIs) in order to recursively clean up all object in the namespace. (#390, @rfranzke)
  • [USER] The delays for the horizontal pod autoscaler have been modified in the following way to achieve a less oscillating behaviour: Downscale: 5m -> 15m and Upscale: 3m -> 1m. (#389, @rfranzke)
  • [USER] Gardener does now wait until all needed controllers are active before cleaning the Kubernetes resources when deleting a Shoot. (#386, @rfranzke)
  • [USER] Resources deployed into Shoot clusters that are not needed any longer are no correctly pruned. (#384, @rfranzke)
  • [USER] The version of calico has been upgraded to v3.2.1. (#380, @databus23)
  • [OPERATOR] An issue where the Shoot-specific Prometheus instance did use invalid certificates for scraping etcd and the kubelet has been resolved. (#394, @mvladev)
  • [OPERATOR] Horizontal pod autoscaling for the kube-apiserver’s is now enabled for all Shoots. (#388, @zanetworker)
  • [OPERATOR] Fixed an issue that prevented a correct error code mapping for errors returned by the machine-controller-manager. (#375, @Adracus)
  • [OPERATOR] Fixed an issue that caused unnecessary restarts of kube-/cloud-controller-manager for Shoot deletions. (73365eb)

Docker Images

gardener-apiserver: [](

gardener-controller-manager: [](