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