使用kubectl debug调试k8s容器
作为一名使用k8s的开发人员,我们在调试容器时通常都会使用exec-it命令来登录容器并执行一些调试命令。但是,由于为了体积和安全的考虑,很多镜像并不内置这些命令,因此我们需要手动安装,增加了调试的难度。

kubectl debug的使用方法
kubectl debug是k8s在1.18版本之后新增的一个子命令,可以将调试容器放置到需要调试的pod中,方便调试。
首先,需要开启特性调试pod。我们可以将一个centos镜像添加到pod中进行调试,命令如下:
kubectl debug cdebug-64cd86798b-sjxrl -it --image=centos -- sh
如果还需要复制一个pod并共享进程,则需要添加参数–copy-to和–share-processes=true,命令如下:
kubectl debug cdebug-64cd86798b-sjxrl -it --image=centos --share-processes --copy-to=cdebug-debug -- sh
如果需要调试node,需要注意node会挂载在/host下。我们可以使用命令kubectl debug node/10.69.202.146 -it –image=centos — sh来调试特定的node。另外,我们也可以使用命令chroot /host来实现调试。
通过以上方法,我们可以更方便地调试k8s容器,提高开发效率。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7436.html
