Kubernetes 节点


节点是 Kubernetes 集群中的一台工作机器,也称为 minion,它们是工作单元,可以是物理、VM 或云实例。

每个节点都有在其上运行 Pod 所需的所有配置,例如代理服务和 kubelet 服务以及 Docker,用于在节点上创建的 Pod 上运行 Docker 容器。

它们不是由 Kubernetes 创建的,而是由云服务提供商或物理或 VM 机器上的 Kubernetes 集群管理器在外部创建的。

Kubernetes 处理多个节点的关键组件是控制器管理器,它运行多种控制器来管理节点。为了管理节点,Kubernetes 创建了一个节点类型的对象,它将验证创建的对象是一个有效的节点。

带选择器的服务


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标志为true的,Kubernetes master 会自动注册节点:

-register-node = true

但是,如果集群管理员想要手动管理它,那么可以通过设置–register-node标志为false来完成:

-register-node = false