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

Kubernetes双Ingress-Nginx控制器问题:删除及新增部署方案

一、删除/禁用第二个Ingress-Nginx控制器

先定位第二个控制器的资源信息,再针对性清理:

  • 先确认集群中所有Ingress控制器的Pod,区分出第二个控制器(可通过创建时间、命名空间判断):
    kubectl get pods -A -l app.kubernetes.io/name=ingress-nginx
    
  • 如果第二个控制器是通过Helm部署的:
    1. 先查找对应的Helm发布名:
      helm list -A
      
    2. 卸载该发布:
      helm uninstall <release-name> -n <对应命名空间>
      
  • 如果是通过YAML清单部署的:
    1. 导出该控制器的所有关联资源(替换成目标命名空间):
      kubectl get all -n <命名空间> -l app.kubernetes.io/name=ingress-nginx -o yaml > temp-nginx-resources.yaml
      
    2. 删除这些资源:
      kubectl delete -f temp-nginx-resources.yaml
      
    (如果该命名空间仅用于部署第二个控制器,可直接删除命名空间简化操作:kubectl delete namespace <命名空间>)
  • 清理遗留的IngressClass:
    1. 查看所有IngressClass资源:
      kubectl get ingressclass
      
    2. 删除第二个控制器对应的IngressClass:
      kubectl delete ingressclass <目标ingressclass名称>
      
二、同一集群部署多Ingress-Nginx控制器的方案

要让Kubernetes准确路由流量,核心是通过IngressClass实现控制器与Ingress资源的绑定,步骤如下:

  1. 为新控制器创建独立的IngressClass资源:
    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: nginx-app2
    spec:
      controller: k8s.io/ingress-nginx
    
    (名称需与现有控制器的IngressClass完全区分)
  2. 部署新控制器时绑定该IngressClass:
    • Helm部署示例:
      helm install nginx-app2 ingress-nginx/ingress-nginx \
        --namespace nginx-app2 \
        --create-namespace \
        --set controller.ingressClass.name=nginx-app2 \
        --set service.type=LoadBalancer
      
    • YAML部署需修改控制器Deployment的启动参数,添加--ingress-class=nginx-app2,确保与上述IngressClass关联。
  3. 应用的Ingress资源指定对应IngressClass:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: app2-ingress
    spec:
      ingressClassName: nginx-app2
      rules:
      - host: app2.example.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: app2-service
                port:
                  number: 80
    
    这样新控制器只会处理绑定了nginx-app2的Ingress资源,与原有控制器互不干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:48:14