当前位置: 首页 > news >正文

k8s 调试

kubectl debug -it \ rocketmq-console-67bfcb57c8-nlprv \ -n rocketmq \ --image=busybox \ --target=rocketmq-console \ -- /bin/sh 

“PID 看进程,Network 看网卡,IPC 看内存,/proc 是望远镜;
Mount 不共享,所以删文件得先走进 /proc/<pid>/root。”

4. /proc 不是独立 namespace,而是“挂载”+“PID 视角”

  • 因为共享了 PID namespace,内核允许你在 busybox 里访问 /proc/<目标PID>/...
    典型用法:
    复制
    cat /proc/1/environ  # 看目标容器 1 号进程的环境变量
    ls /proc/1/root/app  # 直接浏览目标容器的根文件系统


    创建一个带有完整工具集的边车容器,与业务容器共享进程命名空间和文件系统。

    具体操作步骤

    1. 创建带有工具包的边车容器Pod

    yaml
    apiVersion: v1
    kind: Pod
    metadata:name: debug-pod-with-sidecar
    spec:shareProcessNamespace: true  # 关键:共享进程命名空间containers:- name: main-appimage: nginx:alpine  # 你的业务镜像,可能缺少工具ports:- containerPort: 80- name: debug-sidecarimage: busybox:latest  # 或者使用包含完整工具的镜像command: ["sleep"]args: ["infinity"]resources:requests:memory: "64Mi"cpu: "50m"limits:memory: "128Mi"cpu: "100m"
    1. 通过边车容器调试主容器

    bash
    # 进入边车容器
    kubectl exec -it debug-pod-with-sidecar -c debug-sidecar -- sh# 在边车容器中查看主容器的进程
    ps aux# 使用网络工具检查主容器的网络连接
    netstat -tulpn
    nc -zv main-app 80# 通过共享的 /proc 文件系统查看主容器信息
    cat /proc/1/status  # 查看主容器第一个进程状态
    1. 更强大的工具包边车
      使用包含更全面工具的镜像:

    yaml
    - name: tools-sidecarimage: nicolaka/netshoot:latest  # 包含网络诊断工具# 或者使用 kubectl debug 的默认镜像# image: registry.k8s.io/debug:latestcommand: ["sleep"]args: ["infinity"]
    使用 nsenter 进入容器命名空间
    方法原理
    直接在节点上通过 nsenter 进入目标容器的 Linux 命名空间,使用宿主机的工具集。具体操作步骤
    找到目标 Pod 所在的节点和容器 IDbash
    # 获取 Pod 详细信息
    kubectl get pod <pod-name> -o wide# 获取容器 ID
    kubectl get pod <pod-name> -o jsonpath='{.status.containerStatuses[0].containerID}'
    # 输出类似: docker://a1b2c3d4e5f6...
    登录到目标节点bash
    # 如果使用 SSH
    ssh <node-ip-address># 或者如果节点在云平台上,可能通过其他方式登录
    使用 nsenter 进入容器命名空间bash
    # 根据容器ID找到进程PID
    CONTAINER_ID="a1b2c3d4e5f6"  # 从上面获取的实际ID
    PID=$(docker inspect --format '{{.State.Pid}}' $CONTAINER_ID)# 进入容器的网络命名空间
    nsenter -t $PID -n ip addr show
    nsenter -t $PID -n netstat -tulpn
    nsenter -t $PID -n ss -tulpn# 进入容器的所有命名空间(类似进入容器内部)
    nsenter -t $PID -m -u -i -n -p sh
    实用的 nsenter 调试命令bash
    # 网络诊断
    nsenter -t $PID -n tcpdump -i any -w /tmp/debug.pcap
    nsenter -t $PID -n curl -v http://localhost:8080
    
    # 进程诊断
    nsenter -t $PID -p ps aux
    nsenter -t $PID -p lsof -p 1# 文件系统检查(需要挂载命名空间)
    nsenter -t $PID -m ls -la /app/logs
    nsenter -t $PID -m cat /etc/hosts# 使用宿主机的strace调试容器内进程
    nsenter -t $PID -p strace -p 1

     




http://www.gsyq.cn/news/56069.html

相关文章:

  • 面向对象的设计第一阶段设计总结分析
  • 《数字破局》 第二章:规划与选人
  • 2025年北京除甲醛服务机构权威评测:氧道净醛水漆/甲醛净化/新房装修除甲醛服务机构解析
  • 2025年口碑好的矿用气动遥控平板车杭州别墅大宅装修
  • 2025年质量好的矿用防爆柴油机搬运车行业内口碑厂家排行榜
  • DELL服务器设置来电自动启动
  • 2025广州口碑最好的留学机构有哪些
  • 2025大连留学中介公司名单
  • 获取iframe的内容高度
  • 2025年11月北京别墅装修公司推荐:权威评测数据与行业排行榜解析
  • 2025年热门的水上音乐喷泉TOP品牌厂家排行榜
  • 2025年11月北京别墅装修公司推荐榜单:一份详尽的行业指南与避坑手册
  • 2025年11月杀菌消毒机品牌推荐:五大知名品牌综合对比与选购指南
  • 31、SQL完全限定
  • 使用 pinyin-pro 和 ruby 标签为汉字添加拼音
  • 2025年评价高的智能挂面机高评价厂家推荐榜
  • 2025年11月渔具品牌权威评测:基于用户口碑与性能参数的综合排名
  • 使用 CC Mate 配置接入 ZenMux,使用免费 Gemini-3-Pro-Preview API
  • HEU_KMS_Activator:系统与 Office 激活 “全能工具”该如何使用
  • 2025 最新推荐!回转寿司设备源头厂家口碑榜,甄选智能送餐 / 旋转输送 / 出口级优质企业权威推荐餐厅 / 过山车回转寿司设备 / 回转寿司设备出口 / 系统 / 工程 / 维修公司推荐
  • 2025年耐用的滚筒式单板烘干机TOP实力厂家推荐榜
  • 2025年知名的粉碎机TOP品牌厂家排行榜
  • 2025年11月电动叉车销售公司推荐榜单:五家服务商综合对比分析
  • 沈阳一站式婚礼酒店推荐:省心筹备与品质体验之选
  • 2025年质量好的镀锌止水钢板厂家最新TOP实力排行
  • 2025年优质的风筒电器开关优质厂家推荐榜单
  • 2025年11月留学生求职机构推荐榜与选择指南
  • 完整教程:【矩阵分析与应用】【第8章 特征分析】【8.3 凯莱-哈密顿定理求解矩阵高次幂详解】
  • 2025年11月石墨电极厂家推荐评价:聚焦行业痛点与解决方案
  • 艾络科技能源管理系统:用数据管好每一度电、每一吨水