You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes集群中为何看不到master或worker角色的节点

原因说明

该现象不是集群异常,是Kubernetes v1.24版本的默认设计逻辑,具体两点:

  • 控制面节点显示control-plane而非旧版本的master,是官方标签规则迭代导致:Kubernetes从v1.20版本开始逐步弃用控制面节点的node-role.kubernetes.io/master标签,v1.24版本的kubeadm初始化集群时,默认仅给控制平面节点打上node-role.kubernetes.io/control-plane标签。kubectl get nodes的ROLES列本身就是读取节点上node-role.kubernetes.io/<role>格式的标签生成展示内容,因此控制面节点显示control-plane完全符合预期。
  • 工作节点显示<none>是kubeadm的默认行为:kubeadm的工作节点加入流程默认不会自动给节点打上node-role.kubernetes.io/worker标签,所有通过kubeadm join加入的工作节点,未手动配置角色标签时ROLES列都会显示为<none>,和集群运行故障无关。当前集群所有节点状态为Ready、组件运行正常、Dashboard无异常,说明集群本身是健康状态。
处理方法

如果需要ROLES列展示符合使用习惯的角色标识,手动给对应节点打标签即可,标签操作不会影响集群现有业务和组件运行:

  1. 若需要兼容旧版本习惯显示master角色,给控制面节点打对应标签:
kubectl label node slchvdvcybld001 node-role.kubernetes.io/master=

标签值留空即可,执行后控制面节点的ROLES列会同时显示control-plane,master

  1. 给两个工作节点打上worker角色标签,执行以下命令:
kubectl label node slchvdvcydtb001 node-role.kubernetes.io/worker=
kubectl label node slchvdvcytst001 node-role.kubernetes.io/worker=

操作完成后重新执行kubectl get nodes即可看到对应节点的角色正常显示。

内容的提问来源于stack exchange,提问作者pregmatch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:30:49