在创建时将安全组添加到 NLB 需要 Ingress-nginx 配置

问题描述 投票:0回答:1

我有一个 AWS EKS 版本 1.26 集群并托管 Java 应用程序。我通过运行 ingress-nginx 控制器版本 4.5.2 来管理入口配置。通过 ingress-nginx,我使用以下配置 yaml 文件和 helm 命令配置了外部 NLB:

外部控制器.yaml

defaultBackend:
  nodeSelector:
    kubernetes.io/os: "linux"

controller:
  replicaCount: 2
  nodeSelector:
    kubernetes.io/os: "linux"
  ingressClassResource:
    name: nginx-ext
    enabled: true
    default: false
    controllerValue: "example.com/ingress-nginx-ext"
  ingressClass: nginx-ext
  ingressClassByName: true
  service:
    # Enable the external LB
    external:
      enabled: true
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-internal: "false"
      service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
      service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
      service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
      service.beta.kubernetes.io/aws-load-balancer-type: nlb

头盔命令

 helm install "ext-nginx-ingress-controller" ingress-nginx/ingress-nginx \
 --namespace "ext-ingress" \
 --version 4.5.2 \
 -f "external-controller.yaml"

执行此 helm 命令会创建一个面向互联网的 NLB,这正是我想要的。也就是说,我不喜欢的是,在 AWS 控制台中,如果我检查刚刚创建的 NLB 下的Security选项卡,我会看到以下消息:

没有关联的安全组

由于此负载均衡器是在没有安全组的情况下创建的,因此无法更改这些设置。要利用安全组,请确保在创建负载均衡器时指定一个安全组。

我需要向 external-controller.yaml 添加什么才能在创建时获取与我的 NLB 关联的安全组?

感谢任何帮助,谢谢。

kubernetes kubernetes-ingress nginx-ingress ingress-controller aws-nlb
1个回答
0
投票

这个注释怎么样?

  service.beta.kubernetes.io/aws-load-balancer-security-groups: SECURITY_GROUP

引用AWS官方页面:

控制器允许您通过名为

service.beta.kubernetes.io/aws-load-balancer-security-groups
的 Kubernetes 注释指定现有安全组。

当将此注释添加到服务中时,控制器会附加该注释引用的安全组。这有效地允许您的安全团队管理分配给负载均衡器的安全组...

-- Aws.amazon.com:博客:容器:网络负载均衡器现在支持安全组


其他资源:

© www.soinside.com 2019 - 2024. All rights reserved.