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

Kubernetes集群部署Nginx ingress controller持续失败问题求助

Nginx Ingress Controller部署异常解决方案
  • 手动补全缺失的根CA ConfigMap
    报错提示的kube-root-ca.crt是集群各命名空间下默认同步的根CA证书配置,你的集群因准入控制器配置异常未在ingress-nginx命名空间下生成该资源,可手动复制kube-system下的对应资源:
    # 确认kube-system下存在该ConfigMap
    kubectl get cm kube-root-ca.crt -n kube-system
    # 复制到ingress-nginx命名空间
    kubectl get cm kube-root-ca.crt -n kube-system -o yaml | sed 's/namespace: kube-system/namespace: ingress-nginx/g' | kubectl apply -f -
    # 删除异常Pod触发重建
    kubectl delete pod -l app.kubernetes.io/name=ingress-nginx -n ingress-nginx
    
  • 修复kube-apiserver准入控制器配置
    该问题根源是kube-apiserver未开启必要的准入插件,检查kube-apiserver启动参数,确保--enable-admission-plugins字段包含ServiceAccount、ConfigMapServiceAccountTokenProjection两个插件,修改配置后重启kube-apiserver,后续新建命名空间会自动生成对应根CA配置。
  • 调整部署清单适配非云厂商环境
    你当前使用的是公有云场景的部署清单,默认会创建LoadBalancer类型的Service,本地虚拟机、未绑定负载均衡的EC2实例部署时会因Service无法分配IP导致controller组件异常重启,可修改部署清单中ingress-nginx-controller的Service类型为NodePort或ClusterIP后重新部署。
  • 重置异常ServiceAccount资源
    如果上述操作后Pod仍报错,删除ingress-nginx命名空间下关联的ServiceAccount,触发自动重建:
    kubectl delete sa -l app.kubernetes.io/name=ingress-nginx -n ingress-nginx
    kubectl delete pod -l app.kubernetes.io/name=ingress-nginx -n ingress-nginx
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 04:18:04