Debug

kubectl debug #

背景:应用镜像比较精简,没有可用的命令,或者都没有shell

原理:启动一个临时容器加入目标容器的namespace,即可看到pod的网络、文件系统了

调试Pod #

kubectl debug mypod -it --image=busybox
kubectl debug mypod -it --image=nicolaka/netshoot

调试Node #

当以节点为目标调用时,kubectl debug 将创建一个带有node名称的pod,并且调度到该节点。
同时该容器还具备了hostIPC、hostNetwork和hostPID这些特权模式。
Worker节点的根文件系统还被mount到了debug容器下的/host目录下。

kubectl debug node/mynode -it --image=nicolaka/netshoot