默认情况下,master节点是不参与调度的,且在master节点上有一个污点NoSchedule(表示k8s将不会将Pod调度到具有该污点的Node上),有关污

如果想让master节点参与调度,需要先删除污点,允许k8s将Pod调度到该Node上,再添加master为nodes角色。

假设我们就一台单机环境,想让k8s平台既是master节点、又是node节点,可通过如下步骤实现:

  • 删除污点

# 查看node kubectl get nodes # 查看污点 kubectl describe node k8s-master |grep Taints Taints: node-role.kubernetes.io/master:NoSchedule # 删除污点 kubectl taint nodes --all node-role.kubernetes.io/master-


k8s允许master节点参与调度的设置方法_Pod

  • 添加master为worker角色

语法:kubectl label nodes 节点名字 node-role.kubernetes.io/ROLES属性名称=或-


# 让master节点参与调度,#如果想删除,把=换成- kubectl label nodes k8s-master node-role.kubernetes.io/worker=


k8s允许master节点参与调度的设置方法_kubernetes_02

也可以将control-plane标签删除。

k8s允许master节点参与调度的设置方法_docker_03