Skip to content

Enabling In-Place Updates of Pod Resources ​

This is a short guide covering the adoption mechanism of in-place Pod resource updates in Gardener Vertical Pod Autoscaler deployments.

Compatibility ​

Refer to the in-place resource updates guide for details on Kubernetes clusters compatibility, Vertical Pod Autoscaler feature gate definition and availability.

Configuration ​

Gardener provides a dedicated resource manager webhook capable of mutating VerticalPodAutoscaler resources, configured with update mode Auto or Recreate, with the in-place updates enabling InPlaceOrRecreate. The mutating webhook is enabled unconditionally for resource manager deployments managed by both gardenlet and gardener operator.

To keep a VerticalPodAutoscaler resource out of the mutating webhook scope, add the following skip label, indicating that the resource should preserve its current configuration and not get updated:

vpa-in-place-updates.resources.gardener.cloud/skip

gardenlet ​

The mutating webhook is enabled unconditionally for resource manager deployments managed by gardenlet.

Shoot ​

When deployed in a Shoot cluster, the mutating webhook targets vertical pod autoscaler resources inside the kube-system and kubernetes-dashboard namespaces.

With the adoption of Vertical Pod Autoscaler 1.6.0, the InPlaceOrRecreate feature gate got promoted to GA and cannot be disabled. Follow the in-place resource updates guide for more details about the Vertical Pod Autoscaler components setup.

Seed ​

When deployed in a Seed cluster, the mutating webhook targets vertical pod autoscaler resources outside the kube-system and kubernetes-dashboard namespaces.

With the adoption of Vertical Pod Autoscaler 1.6.0, the InPlaceOrRecreate feature gate got promoted to GA and cannot be disabled. Follow the in-place resource updates guide for more details about the Vertical Pod Autoscaler components setup.

NOTE

If you are using a VPA not managed by gardenlet (i.e., Seeds's .spec.settings.verticalPodAutoscaler.enabled is set to false), ensure that your VPA installation supports in-place resource updates.

Gardener Operator ​

The mutating webhook is enabled unconditionally for resource manager deployments managed by gardener operator.

NOTE

If you are using a VPA not managed by gardener-operator (i.e., Garden's .spec.runtimeCluster.settings.verticalPodAutoscaler.enabled is set to false), ensure that your VPA installation supports in-place resource updates.

References ​