k8s进入无法通过bash或sh进入pod的方法

背景

当尝试用kubectl进入coredns的pod内进行查看时,报错

OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown
command terminated with exit code 126

解决办法

通过一下命令查看其中一个coredns实际所在的node

kubectl get pod -n kube-system -o wide | grep coredns

登陆该node,查看该pod所对应的docker container_id,
使用边车通过以下命令访问该容器,$ID是指container_id

docker run -it --net=container:$ID --pid=container:$ID --volumes-from=$ID alpine sh

你可能感兴趣的:(linux,docker,kubernetes)