通常情况下,要修改 Pod 的资源定义,是需要重启 Pod 的。
在Kubernetes 1.27中,有一个 Alpha 状态的InPlacePodVerticalScaling
开关,开启这一特性,
就能在不重启 Pod 的情况下,修改 Pod 的资源定义。
要使用这个功能,需要在kube-apiserver
的featureGates
中显式地设置启用,启用这一特性之后,就可以进行测试了。
测试一下
假设下面的 Pod 定义:
|
|
可以看到,spec 中加入了resizePolicy
字段,用来指定对 CPU 和内存的扩缩容策略。内容很直白:
- CPU 的扩缩容策略是
NotRequired
,即不重启 Pod; - 内存的扩缩容策略是
RestartContainer
,即重启 Pod。