2017-06-01 20:45:57 +08:00
|
|
|
|
# Node
|
|
|
|
|
|
|
|
|
|
Node是kubernetes集群的工作节点,可以是物理机也可以是虚拟机。
|
|
|
|
|
|
|
|
|
|
## Node的状态
|
|
|
|
|
|
|
|
|
|
Node包括如下状态信息:
|
|
|
|
|
|
|
|
|
|
- Address
|
2017-09-01 15:14:20 +08:00
|
|
|
|
- HostName:可以被kubelet中的`--hostname-override`参数替代。
|
2017-06-01 20:45:57 +08:00
|
|
|
|
- ExternalIP:可以被集群外部路由到的IP地址。
|
|
|
|
|
- InternalIP:集群内部使用的IP,集群外部无法访问。
|
|
|
|
|
- Condition
|
2017-09-01 15:14:20 +08:00
|
|
|
|
- OutOfDisk:磁盘空间不足时为`True`
|
|
|
|
|
- Ready:Node controller 40秒内没有收到node的状态报告为`Unknown`,健康为`True`,否则为`False`。
|
2019-03-21 10:04:30 +08:00
|
|
|
|
- MemoryPressure:当node有内存压力时为`True`,否则为`False`。
|
|
|
|
|
- DiskPressure:当node有磁盘压力时为`True`,否则为`False`。
|
2017-06-01 20:45:57 +08:00
|
|
|
|
- Capacity
|
|
|
|
|
- CPU
|
|
|
|
|
- 内存
|
|
|
|
|
- 可运行的最大Pod个数
|
|
|
|
|
- Info:节点的一些版本信息,如OS、kubernetes、docker等
|
|
|
|
|
|
|
|
|
|
## Node管理
|
|
|
|
|
|
|
|
|
|
禁止pod调度到该节点上
|
|
|
|
|
|
2017-10-16 17:34:53 +08:00
|
|
|
|
```bash
|
2017-06-01 20:45:57 +08:00
|
|
|
|
kubectl cordon <node>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
驱逐该节点上的所有pod
|
|
|
|
|
|
2017-10-16 17:34:53 +08:00
|
|
|
|
```bash
|
2017-06-01 20:45:57 +08:00
|
|
|
|
kubectl drain <node>
|
|
|
|
|
```
|
|
|
|
|
|
2017-09-01 15:14:20 +08:00
|
|
|
|
该命令会删除该节点上的所有Pod(DaemonSet除外),在其他node上重新启动它们,通常该节点需要维护时使用该命令。直接使用该命令会自动调用`kubectl cordon <node>`命令。当该节点维护完成,启动了kubelet后,再使用`kubectl uncordon <node>`即可将该节点添加到kubernetes集群中。
|