You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单Master节点Kubernetes集群安装ingress-nginx因Master污点无法容忍调度失败

解决方案

报错核心原因是ingress-nginx的默认工作负载配置未添加Master节点专属污点的容忍规则,无需修改Master节点原有污点配置,通过Helm安装时为相关组件新增容忍规则即可,有两种常用实现方式:

方式一:安装时直接传入参数(适合一次性部署场景)

执行以下安装命令,直接为ingress-nginx控制器、准入Webhook的相关Job全部添加Master污点容忍:

helm install ingress-nginx ingress-nginx/ingress-nginx \
  --set controller.tolerations[0].key=node-role.kubernetes.io/master \
  --set controller.tolerations[0].operator=Exists \
  --set controller.tolerations[0].effect=NoSchedule \
  --set admissionWebhooks.patch.tolerations[0].key=node-role.kubernetes.io/master \
  --set admissionWebhooks.patch.tolerations[0].operator=Exists \
  --set admissionWebhooks.patch.tolerations[0].effect=NoSchedule \
  --set admissionWebhooks.createJob.tolerations[0].key=node-role.kubernetes.io/master \
  --set admissionWebhooks.createJob.tolerations[0].operator=Exists \
  --set admissionWebhooks.createJob.tolerations[0].effect=NoSchedule

方式二:通过自定义配置文件安装(适合需要复用部署配置的场景)

  1. 新建values.yaml配置文件,写入以下内容:
controller:
  tolerations:
  - key: node-role.kubernetes.io/master
    operator: Exists
    effect: NoSchedule
admissionWebhooks:
  patch:
    tolerations:
    - key: node-role.kubernetes.io/master
      operator: Exists
      effect: NoSchedule
  createJob:
    tolerations:
    - key: node-role.kubernetes.io/master
      operator: Exists
      effect: NoSchedule
  1. 执行安装命令调用自定义配置:
helm install ingress-nginx ingress-nginx/ingress-nginx -f values.yaml

验证安装结果

安装完成后执行以下命令查看Pod状态,所有Pod状态显示为Running即为部署成功:

kubectl get pods -n ingress-nginx

内容的提问来源于stack exchange,提问作者satadrubasu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:57:03