Rancher HA
本文列出的命令/步骤可用于检查你的 Rancher Kubernetes 安装。
请确保你配置了正确的 kubeconfig(例如,export KUBECONFIG=$PWD/kube_config_cluster.yml
)。
检查 Rancher Pod
Rancher pod 会部署为 cattle-system
命名空间中的一个 Deployment。
检查 pod 是否运行在所有节点上:
kubectl -n cattle-system get pods -l app=rancher -o wide
输出示例:
NAME READY STATUS RESTARTS AGE IP NODE
rancher-7dbd7875f7-n6t5t 1/1 Running 0 8m x.x.x.x x.x.x.x
rancher-7dbd7875f7-qbj5k 1/1 Running 0 8m x.x.x.x x.x.x.x
rancher-7dbd7875f7-qw7wb 1/1 Running 0 8m x.x.x.x x.x.x.x
如果 pod 无法运行(即状态不是 Running,Ready 状态未显示 1/1
,或者有大量 Restarts),请检查 pod 详细信息,日志和命名空间事件。
Pod 详细信息
kubectl -n cattle-system describe pods -l app=rancher
Pod 容器日志
kubectl -n cattle-system logs -l app=rancher
命名空间事件
kubectl -n cattle-system get events
检查 Ingress
Ingress 应该具有正确的 HOSTS
(显示配置的 FQDN)和 ADDRESS
(将被路由到该主机地址):
kubectl -n cattle-system get ingress
输出示例:
NAME HOSTS ADDRESS PORTS AGE
rancher rancher.yourdomain.com x.x.x.x,x.x.x.x,x.x.x.x 80, 443 2m
检查 Ingress Controller 日志
如果访问你配置的 Rancher FQDN 时没有显示 UI,请检查 Ingress Controller 日志以查看尝试访问 Rancher 时发生了什么:
kubectl -n ingress-nginx logs -l app=ingress-nginx
Leader 选举
Leader 由 Leader 选举确定。确定 Leader 后,Leader(holderIdentity
)会保存在 cattle-controllers
ConfigMap 中(在本例中为 rancher-7dbd7875f7-qbj5k
):
kubectl -n kube-system get configmap cattle-controllers -o jsonpath='{.metadata.annotations.control-plane\.alpha\.kubernetes\.io/leader}'
{"holderIdentity":"rancher-7dbd7875f7-qbj5k","leaseDurationSeconds":45,"acquireTime":"2019-04-04T11:53:12Z","renewTime":"2019-04-04T12:24:08Z","leaderTransitions":0}