Rancher Kubernetes 组件图
Kubernetes 资源
本文列出的命令/步骤可用于检查最重要的 Kubernetes 资源,并应用于 Rancher 启动的 Kubernetes 集群。
请确保你配置了正确的 kubeconfig(例如,为 Rancher HA 配置了 export KUBECONFIG=$PWD/kube_config_cluster.yml
)或通过 UI 使用了嵌入式 kubectl。
节点
获取节点
运行以下命令并检查以下内容:
- 集群中的所有节点都已列出,没有缺失的节点。
- 所有节点的状态都是 Ready(如果未处于 Ready 状态,请运行
docker logs kubelet
检查该节点上的kubelet
容器日志) - 检查所有节点是否报告了正确的版本。
- 检查 OS/Kernel/Docker 值是否按预期显示(此问题可能与升级 OS/Kernel/Docker 相关)。
kubectl get nodes -o wide
输出示例:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
controlplane-0 Ready controlplane 31m v1.13.5 138.68.188.91 <none> Ubuntu 18.04.2 LTS 4.15.0-47-generic docker://18.9.5
etcd-0 Ready etcd 31m v1.13.5 138.68.180.33 <none> Ubuntu 18.04.2 LTS 4.15.0-47-generic docker://18.9.5
worker-0 Ready worker 30m v1.13.5 139.59.179.88 <none> Ubuntu 18.04.2 LTS 4.15.0-47-generic docker://18.9.5
获取节点状况
运行以下命令列出具有 Node Conditions 的节点:
kubectl get nodes -o go-template='{
{range .items}}{
{$node := .}}{
{range .status.conditions}}{
{$node.metadata.name}}{
{": "}}{
{.type}}{
{":"}}{
{.status}}{
{"\n"}}{
{end}}{
{end}}'
运行以下命令,列出具有 active Node Conditions 的节点,这些节点可能阻止正常操作:
kubectl get nodes -o go-template='{
{range .items}}{
{$node := .}}{
{range .status.conditions}}{
{if ne .type "Ready"}}{
{if eq .status "True"}}{
{$node.metadata.name}}{
<