主节点重启后Kuberneter集群出错

问题描述 投票:0回答:1

我重新启动了 kubernetes 主节点,之后,当我执行 getnodes 命令时,它显示工作节点具有

NotReady
状态。

如何防止主节点每次重启后出现这种情况?

kubernetes microservices
1个回答
0
投票

Kubernetes 中节点有 4 种可用状态。

Ready
表示节点运行状况良好并准备好运行 Pod
SchedulingDisabled
表示该节点无法接受新的 Pod
NotReady
表示节点不健康,无法运行 pod
Unknown
表示节点不可用

所以你无法阻止节点将来处于NotReady状态。有几个步骤可以查明发生了什么:

  1. 检查节点资源 首先可以通过SSH登录节点,使用命令

    top
    free
    uptime
    ss
    查看节点资源。或者在监控仪表板中检查它(如果有的话)。

  2. 检查条件部分 您可以运行

    kubectl describe node <node-name>
    并检查输出中的条件部分。

    MemoryPressure
    表示该节点内存不足

    DiskPressure
    表示节点磁盘空间不足

    PIDPressure
    表示节点上进程过多

    NetworkUnavailable
    表示网络有问题

    Ready
    - 该字段可以有
    True
    False
    Unknown
    值。如果值为
    Unknown
    - 这意味着节点控制器在
    node-monitor-grace-period
    内没有来自节点的消息(默认情况下为 40 秒)

  3. 检查K8s组件 您还可以通过 SSH 连接到节点并检查 K8s 组件,例如

    kube-proxy
    kubelet
    和 docker(或 containerd)

    kubectl logs [pod name] -n kube-system

    systemctl status kubelet

    systemctl status docker/containerd

  4. 终于可以查看集群事件了

    kubectl get events —all-namespaces

© www.soinside.com 2019 - 2024. All rights reserved.