【Kubernetes】云原生小技巧 23 之 kubectl debug 命令

59 阅读1分钟

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