Skip to content

In-Place Updates of Pod Resources ​

This is a short guide covering the enablement of in-place resource updates in the Vertical Pod Autoscaler.

Compatibility ​

In-place resource updates were introduced as an alpha feature in Kubernetes 1.27, promoted to beta (enabled by default) in Kubernetes 1.33, and reached GA in Kubernetes 1.35. On the Vertical Pod Autoscaler side, with Release 1.6.0, in-place resources updates are available as a GA feature for vpa-admission-controller and vpa-updater. For more details, see the In-Place Updates documentation.

Kubernetes ​

With Kubernetes 1.33, the InPlacePodVerticalScaling feature gate, which enables in-place resource updates, is enabled by default and does not require additional instrumentation. Prior versions, from Kubernetes 1.27 onwards require the InPlacePodVerticalScaling feature gate to be enabled for both kube-apiserver and kubelet.

Vertical Pod Autoscaling ​

With 1.6.0, the InPlaceOrRecreate feature gate, which enables in-place resource updates for vpa-admission-controller and vpa-updater, got promoted to a GA feature. Refer to the usage guide for details about instrumenting a VerticalPodAutoscaler resource with in-place updates.

Configuration ​

As described in the Compatibility section, alpha versions of the InPlacePodVerticalScaling Kubernetes feature require additional configuration to get the in-place updates enabled. This section covers the components that need to be configured both on Kubernetes and Vertical Pod Autoscaler sides.

Shoot ​

Verify that the InPlacePodVerticalScaling Kubernetes feature gate is not explicitly disabled in the Shoot spec for:

  • kube-apiserver: .spec.kubernetes.kubeAPIServer.featureGates
  • kubelet: .spec.kubernetes.kubelet.featureGates or .spec.provider.workers[].kubernetes.kubelet.featureGates

References ​