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

关于Kubernetes Ingress关联现有AWS NLB的技术咨询

关于AWS NLB与Kubernetes Ingress绑定的问题解答

问题1:无需LB控制器的理解是否正确?

不正确。哪怕是使用预先存在的AWS NLB,你仍然需要部署AWS Load Balancer Controller(原AWS ALB Ingress Controller,现支持NLB)。原因在于:

  • Kubernetes的Ingress资源只是路由规则的声明,本身没有执行能力,必须依赖对应的Ingress Controller来解析Ingress配置,并将其同步到NLB上。
  • Controller还负责维护NLB目标组与Kubernetes后端Pod/NodePort服务的关联关系,确保流量能正确转发到你的应用。

问题2:仅靠Ingress注解绑定现有NLB的思路是否正确?

不完全正确。注解只是触发Controller关联现有NLB的配置指令,但前提是你已经部署并配置好了AWS Load Balancer Controller,且该Controller拥有操作目标NLB的IAM权限。

关键操作步骤

  • 首先部署AWS Load Balancer Controller,并为其配置IAM角色,确保具备以下核心权限:
    • elasticloadbalancing:DescribeLoadBalancers
    • elasticloadbalancing:ModifyLoadBalancers
    • elasticloadbalancing:DescribeTargetGroups
    • elasticloadbalancing:RegisterTargets/DeregisterTargets
  • 在Ingress资源中添加注解指定现有NLB的ARN,示例配置片段:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: your-app-ingress
      annotations:
        alb.ingress.kubernetes.io/load-balancer-arn: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/your-existing-nlb/abcdef123456
        alb.ingress.kubernetes.io/target-type: ip # 或node,根据你的服务类型选择
        # 其他按需添加的注解,比如协议、端口映射等
    spec:
      rules:
        - http:
            paths:
              - path: /
                pathType: Prefix
                backend:
                  service:
                    name: your-app-service
                    port:
                      number: 80
    
  • 确保NLB的VPC、子网配置与你的Kubernetes集群一致,避免网络连通性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:54:16