调试集群组件

概述

本文介绍一些常用的 Kubernetes 集群相关组件的调试方法。

动态调整 kubelet 日志级别

curl -k -X PUT --header "Authorization: Bearer <token>" https://127.0.0.1:10250/debug/flags/v -d "4"

获取 kubelet 堆栈日志

curl -k --header "Authorization: Bearer <token>" "https://127.0.0.1:10250/debug/pprof/goroutine?debug=2" > stack.txt

动态调整 scheduler 日志级别

# 默认日志级别为2,这里调为4。别忘记最后调回去。
curl -X PUT http://localhost:10251/debug/flags/v -d "4"

获取 dockerd 堆栈日志

kill -SIGUSR1 `$(pidof dockerd)`

查看 containerd task/container 状态

# 查看task 
docker-container-ctr -a /run/docker/containerd/docker-containerd.sock -n moby t list
# 查看容器
docker-container-ctr -a /run/docker/containerd/docker-containerd.sock -n moby c list

获取 containerd 堆栈日志

curl --unix-socket /var/run/docker/containerd/docker-containerd-debug.sock http://./debug/pprof/goroutine?debug=2

模拟 containerd 投递事件

contianerd  -a /run/docker/containerd/docker-containerd.sock -n moby publish 
上一页
下一页