节点(node)是 Kubernetes 集群中的工作机器,也称为 minion。它们是工作单元,可以是物理、VM 或云实例。
每个节点都具有在其上运行 pod 所需的所有配置,例如代理服务和 kubelet 服务以及 Docker,用于在节点上创建的 pod 上运行 Docker 容器。
它们不是由 Kubernetes 创建的,而是由云服务提供商或物理或 VM 机器上的 Kubernetes 集群管理器在外部创建的。
Kubernetes 处理多个节点的关键组件是控制器管理器,它运行多种控制器来管理节点。为了管理节点,Kubernetes 创建了一个对象类型节点,它将验证创建的对象是一个有效节点。
带有 Selector 的服务
apiVersion: v1
kind: node
metadata:
name: <ip address of the node>
labels:
name: <lable name>
以 JSON 格式创建实际对象,如下所示:
{
"kind": "node",
"apiVersion": "v1",
"metadata": {
"name": "10.01.1.10",
"labels": {
"name": "cluster 1 node"
}
}
}
节点控制器
它们是在 Kubernetes master 中运行的服务的集合,并基于 metadata.name 持续监控集群中的节点。如果所有必需的服务都在运行,那么该节点将被验证并且控制器将分配一个新创建的 Pod 给该节点。如果它是无效的,那么 master 不会分配任何 pod 给它,并且会一直等到它变得有效。
如果 --register-node
标志为真,Kubernetes master 会自动注册节点。
–register-node = true
但是,如果集群管理员想要手动管理它,那么可以通过如下设置:
–register-node = false