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

如何在创建NLB时为AWS EKS的ingress-nginx添加安全组?

解决AWS EKS ingress-nginx控制器创建NLB时关联安全组的配置方法

要让ingress-nginx控制器在创建外部NLB时自动关联指定安全组,需在external-controller.yaml的控制器Service配置中添加特定注解,具体操作如下:

  • 定位到文件中定义ingress-nginx控制器Service的段落,在metadata.annotations下添加service.beta.kubernetes.io/aws-load-balancer-security-groups注解,值为你需要关联的安全组ID(多个用逗号分隔)。示例配置如下:

    apiVersion: v1
    kind: Service
    metadata:
      name: ingress-nginx-controller
      namespace: ingress-nginx
      annotations:
        # 保留已有的NLB相关注解
        service.beta.kubernetes.io/aws-load-balancer-type: external
        service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
        # 添加安全组关联注解
        service.beta.kubernetes.io/aws-load-balancer-security-groups: "sg-123456789,sg-987654321"
    spec:
      type: LoadBalancer
      # 其他Service配置项...
    
  • 替换示例中的sg-123456789和sg-987654321为你实际的安全组ID,确保这些安全组已提前创建并配置了合适的入站规则(比如允许80、443端口的公网访问)。

  • 修改完成后,重新应用配置文件:

    kubectl apply -f external-controller.yaml
    

如果之前已创建无安全组的NLB,由于AWS NLB创建后无法修改安全组,需先删除现有控制器Service,再重新应用配置,让Kubernetes创建关联了指定安全组的新NLB:

kubectl delete service ingress-nginx-controller -n ingress-nginx
kubectl apply -f external-controller.yaml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 09:25:06