用途:该技能面向使用 kubectl debug 调试 Kubernetes 资源的场景,包括向运行中的 Pod 附加临时调试容器、创建修改后的 Pod 副本进行交互式排障,以及开启节点级调试会话以检查主机命名空间或文件系统。
主要能力:临时容器可在不重启 Pod 的情况下加入调试容器;Pod 复制可生成使用不同镜像或命令的副本;节点调试可访问节点主机命名空间与文件系统(挂载于 /host)。支持调试配置文件 legacy、general、baseline、netadmin、restricted、sysadmin,分别对应不同权限,如 netadmin 提供 NET_ADMIN,sysadmin 提供 SYS_PTRACE、SYS_ADMIN。
使用方式:所有命令应显式指定 --context,例如 kubectl --context=prod-cluster debug mypod -it --image=busybox。常用选项包括 -it、--image、--container、--target、--copy-to、--same-node、--set-image、--profile、--share-processes、--replace。网络排障可用 nicolaka/netshoot 配合 --profile=netadmin;进程检查可用 --target 共享进程命名空间;节点问题可用 kubectl --context=my-context debug node/mynode -it --image=ubuntu --profile=sysadmin。
适用场景:网络连通性问题、应用崩溃、进程检查、节点级问题以及非破坏性调试(保留原 Pod 运行)。
限制与要求:需要 Kubernetes 1.23+ 支持临时容器(稳定),1.25+ 支持调试配置文件,并具备 pods/ephemeralcontainers 的 RBAC 权限。调试完成后应清理调试 Pod 副本。资料未提供收费、价格或平台信息。