k8s集群创建完成后,在部署应用的时候发现master节点无法部署pod, 解决步骤如下

  1. 查看节点名称
master01 ➜  k8s git:(master) kubectl get nodes
NAME       STATUS   ROLES           AGE     VERSION
master01   Ready    control-plane   2d16h   v1.24.2
master02   Ready    control-plane   47h     v1.24.2
master03   Ready    control-plane   47h     v1.24.2
worker01   Ready    <none>          47h     v1.24.2
worker02   Ready    <none>          47h     v1.24.2
  1. 查看节点角色及是否支持schedule,例如查看master01节点
kubectl describe nodes master01 |grep -E '(Roles|Taints)'

如果出现NoSchedule,说明节点不允许被调度,需要调整node的角色

  1. 允许节点部署pod
# 如果角色是master
kubectl taint nodes $node_name node-role.kubernetes.io/master-
# 如果角色是control-plane
kubectl taint nodes $node_name node-role.kubernetes.io/control-plane-

当然也可以设置节点禁止部署pod
4. 禁止节点部署pod

kubectl taint nodes $node_name node-role.kubernetes.io/master=:NoSchedule
# 或者
kubectl taint nodes $node_name node-role.kubernetes.io/control-plane=:NoSchedule
Logo

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

更多推荐