Skip to content

coderwangke/kubectl-debugger-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kubectl-debugger-plugin

TKE容器服务 的集群中,该插件实现了下发 debugger pod 的能力,用于以下场景:

1、登录节点排查问题,比如网络抓包

2、登录节点查看其他非容器化进程的日志,比如日志组件

3、登录节点排查网络问题,进行抓包等

补充:插件使用参考 用插件扩展kubectl

支持的节点类型

  • 普通节点
  • 原生节点
  • 超级节点

支持的操作命令

超级节点

# 适用超级节点
$ kubectl debugger pod <pod-name> -n <namespace> -i <image> --rm -- COMMAND

普通节点或者原生节点

# 适用普通节点和原生节点
$ kubectl debugger node <node-name> -i <image> --rm -- COMMAND

超级节点场景特殊说明

超级节点上 debugger pod 并不是下发到了超级节点上,而是下发到了具体的pod上。

超级节点支持注解 eks.tke.cloud.tencent.com/debug-pod: <pod-yaml> , 用于下发其他 pod 到指定的 pod 上。

比如需要查看 containerd 系统组件的日志,参考如下操作:

$ kubectl debugger pod <pod-name> -n <namespace>

$ chroot /host

$ journalctl -u containerd

要求的权限

rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["get", "exec", "create", "delete"]
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get"]

效果展示

pod

image

node

image