kubectl debug

1.命令说明

kubectl debug是Kubernetes的一个命令,用于调试Pod。通常用于创建临时容器或附加到现有容器进行故障排查。

2.使用情况

我这里是想在minio pod中检索*.map文件,应对漏洞扫描,但最新版的minio镜像里没有find工具,所以需要使用busybox附加到minio pod中进行find命令使用。

3.启动临时调试容器(共享目标容器的进程命名空间),我这里以minio的pod为例:

bash 复制代码
kubectl debug -it minio-0 -n minio \
  --image=busybox:latest \
  --target=minio \
  -- sh
  • 目标容器的根文件系统挂载在 /proc/1/root 下

4.进入临时容器后执行搜索

bash 复制代码
find /proc/1/root/ -type f -name "*.map"

5.退出临时容器(自动销毁)

bash 复制代码
exit

6.kubectl debug 工作原理图

bash 复制代码
+-------------------+          +-------------------+
| 临时调试容器       |          | 原容器 (minio)    |
| (busybox)         |          |                   |
|                   |          |                   |
| 共享进程命名空间 → | -------→ | PID 1: /minio     |
| 文件系统路径:     |          | 文件系统路径:     |
| /proc/1/root      | ←------→ | /                 |
+-------------------+          +-------------------+
相关推荐
ezreal_pan2 天前
Pod 重启多场景复盘:OOM、日志阻塞、并发 map 读写导致程序崩溃
docker·k8s
cg.family2 天前
containerd 1.6.33 + nerdctl 1.7.6 + Jenkins
k8s
Ningcode_cloud4 天前
Kubernetes 弹性伸缩实验手册:从集群搭建到 HPA / VPA 自动扩缩容
云原生·k8s·prometheus
ZzzZZzzzZZZzzzz…6 天前
K8s---组件
运维·云原生·容器·kubernetes·k8s·k8s组件
张洛闻Eren6 天前
云原生k8s【第八课】: ETCD 备份与恢复
linux·运维·docker·kubernetes·k8s
张洛闻Eren7 天前
云原生k8s【第七课】:集群监控与可观测性
linux·运维·docker·云原生·容器·kubernetes·k8s
Eminem897 天前
9、k8s亲和性与污点容忍度
k8s
鹤落晴春9 天前
有状态应用 vs 无状态应用
运维·云原生·k8s
Eminem8910 天前
8、k8s nodename和nodeSelector调度pod
k8s
cg.family12 天前
K8s内部pod间的负载均衡原理
k8s