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. Available for deployment with both gardenlet and gardener operator, the mutating webhook can be activated with the following feature gate, listed within the respective component manifest. Refer to the Gardener feature gates page for additional details:

VPAInPlaceUpdates

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 ​

With Gardener v1.138, the VPAInPlaceUpdates feature gate got promoted to Beta and is now enabled by default.

To enable the mutating resource manager webhook, the VPAInPlaceUpdates feature gate must be set to true:

yaml
featureGates:
  VPAInPlaceUpdates: true

Refer to the gardenlet component configuration manifest for an overview.

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 ​

With Gardener v1.138, the VPAInPlaceUpdates feature gate got promoted to Beta and is now enabled by default.

To enable the mutating resource manager webhook, the VPAInPlaceUpdates feature gate must be set to true:

yaml
featureGates:
  VPAInPlaceUpdates: true

Refer to the operator component configuration manifest for an overview.

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 ​