我是kubernetes的新手,我看到我的一个节点的角色是control-plane,master
。有什么区别?是主节点还是运行kube-apiserver的节点?那么什么定义了控制平面节点?
我使用的是kubectl 1.20.2(kubeadm也是1.20.2)。
我是kubernetes的新手,我看到我的一个节点的角色是control-plane,master
。有什么区别?是主节点还是运行kube-apiserver的节点?那么什么定义了控制平面节点?
我使用的是kubectl 1.20.2(kubeadm也是1.20.2)。
2条答案
按热度按时间pb3s4cty1#
旧的
node-role.kubernetes.io/master
标签和污点密钥已被弃用,并将被替换为node-role.kubernetes.io/control-plane
,它们在过渡期间都有效。添加它们可确保向后兼容性,同时还支持使用较新术语的工具。更改名称的原因是Kubernetes项目不再使用被认为是冒犯性的措辞。一个新的工作组WG Naming已经成立来跟踪这项工作,单词 master 被宣布为冒犯性的,而Recommendation: master -> control plane已经被接受:
在Kubernetes代码库中,术语“master”经常被用来指代Kubernetes控制平面,无论是作为一个整体还是其中的一些组件子集。我们建议控制平面将组件集作为一个整体来指代。我们建议在谈论单个组件或它们所扮演的角色时使用特定于上下文的替代方案。
作为Kubernetes生态系统的一部分,
kubeadm
符合此建议,更多信息请参见KEP-2067: Rename the kubeadm "master" label and taint:Kubeadm将“node-role”标签应用于其控制平面节点。当前此标签关键字为node-role.kubernetes.io/master,应将其重命名为node-role.kubernetes.io/control-plane。Kubeadm还使用相同的“node-role”作为它应用于控制平面节点的污点的关键字。此污点关键字还应重命名为“node-role.kubernetes.io/control-plane”。
Kubernetes v1.20.0发行说明中也提到了这一点
zdwk9cvp2#
Kubernetes集群始终由节点组成,可以将节点视为 * 托管应用程序/[微]服务的机器 *。
在过去,集群被分为两个逻辑区域:
1.主节点或主节点- * 这是一组节点,组成管理工作节点、pod和基本上整个K8s集群基础架构的控制平面 ;
1.工作节点- * 这是一组节点,实际托管您的应用程序(或应用程序组件/微服务,如果您愿意)。
根据kubernetes.io文档:
主节点是一个传统术语,用作托管控制平面的节点的同义词。该术语仍被一些预配工具(如kubeadm)和托管服务使用,以使用www.example.com标记节点kubernetes.io/role并控制控制平面单元的放置。
另一句名言是:
运行这些组件(控制平面的组件)的主机在历史上被称为主设备。
今天,Kubernetes的新术语将这两个节点(控制平面节点和工作节点)分为:
1.控制平面组件(以前称为主节点),以及
1.工作节点,承载实际的应用程序组件。
最后但并非最不重要的是:控制平面组件(以前称为主节点)不仅仅是Kubernetes API服务器,而且主要包括(但不限于):