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

![没有权限](./files/permission_denied.png)

## 解决方法

先拿到 container id 和 pod 所在的 node

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

进入对应的 node

```bash
ssh node1
```

找到 containerd 的 pid

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

进入 containerd 的 pid 对应的容器

```bash
nsenter -a -t 33523
```

![containerd 的 pid](./files/containerd_pid.png)

