第 3 章 编辑 kubelet 日志级别详细程度和收集日志
要排除节点的一些问题,请根据要跟踪的问题建立 kubelet 的日志级别详细程度。
3.1. 将 kubelet 修改为一次性场景
要在不重启节点的一次性场景中修改 kubelet,因为 machine-config(spec":{"paused":false}})
的变化,允许您在不影响该服务的情况下修改 kubelet,请按照以下步骤执行。
流程
以 debug 模式连接到节点:
$ oc debug node/<node>
$ chroot /host
或者,也可以 SSH 连接到节点,并成为 root 用户。
建立访问后,检查默认日志级别:
$ systemctl cat kubelet
输出示例
# /etc/systemd/system/kubelet.service.d/20-logging.conf [Service] Environment="KUBELET_LOG_LEVEL=2"
定义新的
/etc/systemd/system/kubelet.service.d/30-logging.conf
文件中所需的新详细程度,该文件会覆盖/etc/systemd/system/kubelet.service.d/20-logging.conf
。在本例中,详细程度从2
改为8
:$ echo -e "[Service]\nEnvironment=\"KUBELET_LOG_LEVEL=8\"" > /etc/systemd/system/kubelet.service.d/30-logging.conf
重新载入 systemd 并重启服务:
$ systemctl daemon-reload
$ systemctl restart kubelet
收集日志,然后恢复日志级别增加:
$ rm -f /etc/systemd/system/kubelet.service.d/30-logging.conf
$ systemctl daemon-reload
$ systemctl restart kubelet