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