• Node
    • Node的状态
    • Node管理

    Node

    Node是kubernetes集群的工作节点,可以是物理机也可以是虚拟机。

    Node的状态

    Node包括如下状态信息:

    • Address
      • HostName:可以被kubelet中的--hostname-override参数替代。
      • ExternalIP:可以被集群外部路由到的IP地址。
      • InternalIP:集群内部使用的IP,集群外部无法访问。
    • Condition
      • OutOfDisk:磁盘空间不足时为True
      • Ready:Node controller 40秒内没有收到node的状态报告为Unknown,健康为True,否则为False
      • MemoryPressure:当node有内存压力时为True,否则为False
      • DiskPressure:当node有磁盘压力时为True,否则为False
    • Capacity
      • CPU
      • 内存
      • 可运行的最大Pod个数
    • Info:节点的一些版本信息,如OS、kubernetes、docker等

    Node管理

    禁止pod调度到该节点上

    1. kubectl cordon <node>

    驱逐该节点上的所有pod

    1. kubectl drain <node>

    该命令会删除该节点上的所有Pod(DaemonSet除外),在其他node上重新启动它们,通常该节点需要维护时使用该命令。直接使用该命令会自动调用kubectl cordon <node>命令。当该节点维护完成,启动了kubelet后,再使用kubectl uncordon <node>即可将该节点添加到kubernetes集群中。