Controlplane 节点故障排除

本文适用于具有 controlplane 角色的节点。

检查 controlplane 容器是否正在运行

具有 controlplane 角色的节点上启动了三个容器:

  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler

容器的状态应该是 UpUp 后面显示的时间指的是容器运行的时间。

  1. docker ps -a -f=name='kube-apiserver|kube-controller-manager|kube-scheduler'

输出示例:

  1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  2. 26c7159abbcc rancher/hyperkube:v1.11.5-rancher1 "/opt/rke-tools/en..." 3 hours ago Up 3 hours kube-apiserver
  3. f3d287ca4549 rancher/hyperkube:v1.11.5-rancher1 "/opt/rke-tools/en..." 3 hours ago Up 3 hours kube-scheduler
  4. bdf3898b8063 rancher/hyperkube:v1.11.5-rancher1 "/opt/rke-tools/en..." 3 hours ago Up 3 hours kube-controller-manager

controlplane 容器日志记录

Controlplane 节点故障排除 - 图1备注

如果你添加了多个具有 controlplane 角色的节点,kube-controller-managerkube-scheduler 会通过 leader 选举来确定 leader。只有当前 leader 会记录执行的操作。有关检索当前的 leader 的更多信息,请参阅 Kubernetes leader 选举

容器的日志记录可能包含问题的信息。

  1. docker logs kube-apiserver
  2. docker logs kube-controller-manager
  3. docker logs kube-scheduler

RKE2 Server 日志

如果 Rancher 配置的 RKE2 集群无法与 Rancher 通信,你可以在下游集群中的 Server 节点上运行此命令,从而获取 RKE2 Server 日志:

  1. journalctl -u rke2-server -f