默认情况下,master节点是不参与调度的,且在master节点上有一个污点NoSchedule(表示k8s将不会将Pod调度到具有该污点的Node上),有关污点章节可参考https://www.cnblogs.com/panw/p/16343392.html

如果想让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-

  • 添加master为worker角色

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

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

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

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐