概念:
Node是Kubernetes中的工作节点,最开始被称为minion。一个Node可以是VM或物理机。每个Node(节点)具有运行pod的一些必要服务,并由Master组件进行管理,Node节点上的服务包括Docker、kubelet和kube-proxy。
Pod总是运行在Node之上。Node是Kubernetes中的一个工作机器,通常是一个虚拟机或者物理机。每个Node被Master管理。一个节点能有多个pod,同时Kubernetes master在集群之上自动调度pod。Master的自动调度考虑到每个Node上的可用资源。
每个Kubernetes Node至少运行:
- Kubelet,一个负责Kubernetes Master和Node之间通讯的进程;它管理着运行在机器上Pods和Containers
- 容器运行时(比如Docker,rkt),负责从registry拉取容器镜像,取出容器,运行应用。
node状态:
- Addresses:
- HostName:可以通过kubelet 中 --hostname-override参数覆盖。
- ExternalIP:可以被集群外部路由到的IP。
- InternalIP:只能在集群内进行路由的节点的IP地址。
- Condition:conditions字段描述所有Running节点的状态。
- OutOfDisk:True:如果节点上没有足够的可用空间来添加新的pod;否则为:False
- Ready:True:如果节点是健康的并准备好接收pod;False:如果节点不健康并且不接受pod;Unknown:如果节点控制器在过去40秒内没有收到node的状态报告。
- MemoryPressure:True:如果节点存储器上内存过低; 否则为:False。
- DiskPressure:True:如果磁盘容量存在压力 - 也就是说磁盘容量低;否则为:False。
- Capacity:描述节点上可用的资源:CPU、内存和可以调度到节点上的最大pod数。
- Info:关于节点的一些基础信息,如内核版本、Kubernetes版本(kubelet和kube-proxy版本)、Docker版本(如果有使用)、OS名称等。信息由Kubelet从节点收集。
Node Controller:节点控制器(Node Controller)是管理节点的Kubernetes master组件。
有三个组件与Kubernetes节点接口进行交互:节点控制器(node controller)、kubelet和kubectl。