kubernetes-handbook/concepts/node.md

39 lines
1.3 KiB
Markdown
Raw Normal View History

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`
- ReadyNode controller 40秒内没有收到node的状态报告为`Unknown`,健康为`True`,否则为`False`。
2017-06-01 20:45:57 +08:00
- MemoryPressure当node没有内存压力时为`True`,否则为`False`。
- DiskPressure当node没有磁盘压力时为`True`,否则为`False`。
- Capacity
- CPU
- 内存
- 可运行的最大Pod个数
- Info节点的一些版本信息如OS、kubernetes、docker等
## Node管理
禁止pod调度到该节点上
```bash
2017-06-01 20:45:57 +08:00
kubectl cordon <node>
```
驱逐该节点上的所有pod
```bash
2017-06-01 20:45:57 +08:00
kubectl drain <node>
```
2017-09-01 15:14:20 +08:00
该命令会删除该节点上的所有PodDaemonSet除外在其他node上重新启动它们通常该节点需要维护时使用该命令。直接使用该命令会自动调用`kubectl cordon <node>`命令。当该节点维护完成启动了kubelet后再使用`kubectl uncordon <node>`即可将该节点添加到kubernetes集群中。