ᕕ( ᐛ )ᕗ Jimyag's Blog

k8s 的 pod 非 root 权限启动不重启 pod 执行 sudo 命令

使用别人容器镜像,需要执行有 root 权限的命令,但是 pod 是以非 root 权限启动的。

没有权限

解决方法

先拿到 container id 和 pod 所在的 node

kubectl get pod ubuntu1 -o jsonpath='{.status.containerStatuses[*].containerID}{"\n"}{.spec.nodeName}{"\n"}'
containerd://c23551da0311bdfa6f1377fd5eb5619fd34bf8c1ff19b863f7a0b2e14f92ee42
node1

进入对应的 node

ssh node1

找到 containerd 的 pid

ctr -n k8s.io t ls | grep c23551da0311bdfa6f1377fd5eb5619fd34bf8c1ff19b863f7a0b2e14f92ee42
c23551da0311bdfa6f1377fd5eb5619fd34bf8c1ff19b863f7a0b2e14f92ee42    33523    RUNNING

进入 containerd 的 pid 对应的容器

nsenter -a -t 33523

containerd 的 pid

#k8s