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

查看节点名称

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

查看节点角色及是否支持schedule,例如查看master01节点

kubectl describe nodes master01 |grep -E '(Roles|Taints)'

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

允许节点部署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
禁止节点部署pod

kubectl taint nodes $node_name node-role.kubernetes.io/master=:NoSchedule

或者

kubectl taint nodes $node_name node-role.kubernetes.io/control-plane=:NoSchedule
文档更新时间: 2023-03-09 09:31   作者:admin