2 minute read
This is a short guide covering the enablement of in-place
resource updates in the Vertical Pod Autoscaler
.
In-place
resource updates got introduced as an alpha feature in Kubernetes 1.27. In Kubernetes 1.33, it got promoted to beta and enabled by default.
On the Vertical Pod Autoscaler
side, with Release 1.4.0, in-place
resources updates are available as an alpha feature for vpa-admission-controller
and vpa-updater
.
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.
With 1.4.0, the InPlaceOrRecreate
feature gate, which enables in-place
resource updates for vpa-admission-controller
and vpa-updater
, got introduced as an alpha feature. To explicitly enable the feature for Shoot
, Seed
or Garden
clusters, the Vertical Pod Autoscaling
configurations, for the respective cluster types need to include an additional InPlaceOrRecreate: true
entry in the featureGates
map.
Refer to the usage guide for details about instrumenting a VerticalPodAutoscaler
resource with in-place
updates.
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.
Since Vertical Pod Autoscaler
has its InPlaceOrRecreate
feature gate still in alpha, and Kubernetes promoted InPlacePodVerticalScaling
to beta in 1.33, it is allowed to configure in-place
resource updates only for Shoot
(s) with Kubernetes version 1.33+.
Enable the InPlaceOrRecreate
feature gate for Vertical Por Autoscaler
in the Shoot spec:
spec:
kubernetes:
verticalPodAutoscaler:
featureGates:
InPlaceOrRecreate: true
Make sure that the InPlacePodVerticalScaling
Kubernetes feature gate is not explicitly disabled in the Shoot spec for:
.spec.kubernetes.kubeAPIServer.featureGates
.spec.kubernetes.kubelet.featureGates
or .spec.provider.workers[].kubernetes.kubelet.featureGates
Disclaimer: The following configurations are relevant for Gardener
Operators
that have access toSeed
cluster(s).
For Seed
clusters, Vertical Pod Autoscaler
features gates can be managed in seed.spec.settings.verticalPodAutoscaler.featureGates
. There are no additional Kubernetes versions validation when configuring Seed
clusters.
Disclaimer: The following configurations are relevant for Gardener
Operators
that have access toGarden
cluster(s).
For Garden
clusters, Vertical Pod Autoscaler
feature gates can be managed in garden.spec.runtimeCluster.settings.verticalPodAutoscaler.featureGates
. There are no additional Kubernetes versions validation when configuring Garden
clusters.
Was this page helpful?