kubectl debug 命令用于在 Kubernetes 集群中调试和诊断 Pod 和容器的问题,帮助用户在现有的 Pod 内部或者以新创建的调试容器的形式运行交互式命令行,以便进行故障排查,一起来看看如何使用吧!
1、kubectl debug 命令使用场景
- 在线调试:当某个 Pod 无法正常工作时,使用 kubectl debug 快速进入 Pod 内部进行检查
- 环境确认:在调试涉及各种环境变量或配置时,可通过进入容器来验证当前设置
- 网络排查:通过在 Pod 内部执行网络相关操作(如 ping、curl)来确认服务间的连接顺畅
- 故障排查:直接启动一个带有调试工具的新容器,以更轻松地调查当前问题
2、kubectl debug 命令的基本语法
# POD_NAME: 要调试的 Pod 的名称
# OPTIONS: 可选,可指定要使用的容器、调试模式等
kubectl debug [OPTIONS] POD_NAME
3、使用 kubectl debug 命令
# 查看帮助命令
kubectl debug --help
# 在 mypod 中创建一个新容器(镜像为 busybox),并提供交互式 shell
kubectl debug mypod -it --image=busybox -- /bin/sh
# 创建名为 mydebugpod 的新 Pod 作为 mypod 的副本,使用 ubuntu 镜像启动,并提供交互式 bash shell
kubectl debug mypod --copy-to=mydebugpod -it --image=ubuntu -- /bin/bash
# 当 Pod 包含多个容器,使用 -c 参数针对特定容器进行调试
kubectl debug mypod -c mycontainer -it --image=alpine -- /bin/sh