允许master节点部署 Pod

在 Kubernetes 中,允许 master 节点部署 Pod 需要解除其默认的 "不可调度" 状态。可以通过以下步骤实现:

⚙️ 方法一:移除 master 节点的污点(Taint)(推荐)

  1. ​查看当前节点污点​

    kubectl describe node <master-node-name> | grep Taints

    通常会显示:Taints: node-role.kubernetes.io/master:NoSchedule

  2. ​移除污点​

    kubectl taint nodes <master-node-name> node-role.kubernetes.io/master:NoSchedule-
  3. ​验证修改​

    kubectl describe node <master-node-name> | grep Taints
    # 应该显示:Taints: <none>
     

⚙️ 方法二:在 Pod 中配置容忍(Toleration)

在 Pod 定义中添加 tolerations,允许调度到 master 节点:

spec:
  tolerations:
  - key: "node-role.kubernetes.io/master"
    operator: "Exists"
    effect: "NoSchedule"

完整示例如下:

apiVersion: v1
kind: Pod
metadata:
  name: example-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
  tolerations:
  - key: "node-role.kubernetes.io/master"
    operator: "Exists"
    effect: "NoSchedule"
 
posted @ 2025-06-03 18:11  Leonardo-li  阅读(35)  评论(0)    收藏  举报