K3S新版本是否支持POD的伸缩功能(In-place Pod Vertical Scaling feature)?

K3s 版本: 1.27.6或1.28.2

问题描述:
请教各位大佬,K8S [v1.27.0-alpha.2]中支持In-place Pod Vertical Scaling feature功能,在K3S中是否已经支持?还是阉割掉了?

你是遇到什么问题了么? 直接说问题就好。

正常来说 K3s 不会严格 K8s 新版的特性功能的,如果你在 K3s 中无法使用 K8s 中的新特性,你得读下 K8s 的文档, 看看这些新特性是否默认开启,如果没开启,需要手动启用.

例如:Kubernetes 1.27: 原地调整 Pod 资源 (alpha) | Kubernetes

问题是我想要在K3S中实现In-place Pod Vertical Scaling feature功能。您说的K8S是有命令开关可以打开这个功能,但K3S没有这个命令,不知道如何打开?

可以参考:

非常感谢!按此可以打开此功能,但是调整CPU和内存出现以下错误,不知道是不是还有哪些开关未开启?还是部分参数还需要设置?请指点

具体配置:
在K3S V1.27.6版本/etc/rancher/k3s/config.yaml 对应修改以下参数
kubelet-arg:
- feature-gates=InPlacePodVerticalScaling=true
kube-apiserver-arg:
- feature-gates=InPlacePodVerticalScaling=true

出错情况:
[root@node-1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
mynginx-57ff64b9dd-8v6kr 1/1 Running 1 (7m35s ago) 8m58s
[root@node-1 ~]#
[root@node-1 ~]#
[root@node-1 ~]# kubectl patch pod mynginx-57ff64b9dd-8v6kr --patch ‘{“spec”:{“containers”:[{“name”:“mynginx”, “resources”:{“limits”:{“cpu”:“300m”}}}]}}’
pod/mynginx-57ff64b9dd-8v6kr patched
[root@node-1 ~]#
[root@node-1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
mynginx-57ff64b9dd-8v6kr 1/1 Running 1 (7m58s ago) 9m21s
[root@node-1 ~]#
[root@node-1 ~]#
[root@node-1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
mynginx-57ff64b9dd-8v6kr 1/1 Running 1 (8m ago) 9m23s
[root@node-1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
mynginx-57ff64b9dd-8v6kr 0/1 CrashLoopBackOff 2 (2s ago) 9m25s
[root@node-1 ~]#
[root@node-1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
mynginx-57ff64b9dd-8v6kr 0/1 CrashLoopBackOff 2 (4s ago) 9m27s
[root@node-1 ~]#
[root@node-1 ~]# kubectl describe pod mynginx-57ff64b9dd-8v6kr
Name: mynginx-57ff64b9dd-8v6kr
Namespace: default
Priority: 0
Service Account: default
Node: node-2/192.168.140.203
Start Time: Mon, 09 Oct 2023 15:25:26 +0800
Labels: app=mynginx
pod-template-hash=57ff64b9dd
Annotations:
Status: Running
IP: 10.42.1.16
IPs:
IP: 10.42.1.16
Controlled By: ReplicaSet/mynginx-57ff64b9dd
Containers:
mynginx:
Container ID: containerd://9af1bb34188d8aedba029a1610a7f89cef460dec7a02952a4b8d60a4fa3a56ef
Image: nginx
Image ID: docker.io/library/nginx@sha256:32da30332506740a2f7c34d5dc70467b7f14ec67d912703568daff790ab3f755
Port: 80/TCP
Host Port: 0/TCP
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: StartError
Message: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: failed to write “30000”: write /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/pod2f67fab5-a2f7-48f4-9ff2-66f429c37361/9af1bb34188d8aedba029a1610a7f89cef460dec7a02952a4b8d60a4fa3a56ef/cpu.cfs_quota_us: invalid argument: unknown
Exit Code: 128
Started: Thu, 01 Jan 1970 08:00:00 +0800
Finished: Mon, 09 Oct 2023 15:34:49 +0800
Ready: False
Restart Count: 2
Limits:
cpu: 300m
memory: 500Mi
Requests:
cpu: 10m
memory: 10Mi
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-lhxkg (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
kube-api-access-lhxkg:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: Burstable
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message


Normal Scheduled 9m35s default-scheduler Successfully assigned default/mynginx-57ff64b9dd-8v6kr to node-2
Normal Pulled 9m33s kubelet Successfully pulled image “nginx” in 2.576s (2.576s including waiting)
Normal Killing 8m13s kubelet Container mynginx definition changed, will be restarted
Normal Pulling 8m13s (x2 over 9m35s) kubelet Pulling image “nginx”
Normal Pulled 8m11s kubelet Successfully pulled image “nginx” in 2.532s (2.532s including waiting)
Normal Created 8m11s (x2 over 9m33s) kubelet Created container mynginx
Normal Started 8m10s (x2 over 9m32s) kubelet Started container mynginx
Normal Killing 19s kubelet Container mynginx definition changed, will be restarted
Normal Pulling 19s kubelet Pulling image “nginx”
Normal Pulled 13s kubelet Successfully pulled image “nginx” in 6.074s (6.074s including waiting)
Normal Created 13s kubelet Created container mynginx
Warning Failed 13s kubelet Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: failed to write “30000”: write /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/pod2f67fab5-a2f7-48f4-9ff2-66f429c37361/mynginx/cpu.cfs_quota_us: invalid argument: unknown
Warning BackOff 11s (x2 over 12s) kubelet Back-off restarting failed container mynginx in pod mynginx-57ff64b9dd-8v6kr_default(2f67fab5-a2f7-48f4-9ff2-66f429c37361)