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

如何在EKS中复用CloudFormation创建的AWS负载均衡器?

可以将预创建的负载均衡器用于EKS Pod,以下是具体实现方案

方案一:通过AWS Load Balancer Controller关联已有资源(推荐)

即便你用CloudFormation创建了ALB、TargetGroup等资源,依然可以借助aws-load-balancer-controller关联EKS Pod,且不会覆盖或重建已有CF资源,只需通过Kubernetes注解指定已有资源的ARN即可:

  1. 确认Controller部署与权限
    确保aws-load-balancer-controller已安装到EKS集群,且其IAM角色拥有读取、操作你CF创建的ALB、TargetGroup的权限(如elasticloadbalancing:DescribeLoadBalancers、elasticloadbalancing:RegisterTargets等)。

  2. 创建Ingress资源绑定已有资源
    编写Ingress YAML,通过注解指定已有ALB和TargetGroup的ARN,示例如下:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: existing-alb-ingress
      annotations:
        alb.ingress.kubernetes.io/load-balancer-arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-existing-alb/abc123
        alb.ingress.kubernetes.io/target-group-arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-existing-tg/def456
        alb.ingress.kubernetes.io/healthcheck-path: /healthz # 需与TargetGroup配置一致
    spec:
      rules:
      - http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: your-pod-service
                port:
                  number: 80
    

    其中your-pod-service是指向Pod的ClusterIP类型Service,Controller会自动将Service关联的Pod IP注册到指定的TargetGroup,并将Ingress规则映射到已有Listener。

  3. 验证关联效果
    部署Ingress后,检查TargetGroup的注册目标列表,应能看到Pod IP已自动注册;访问Route53指向的域名,流量会通过已有ALB转发到EKS Pod。

方案二:手动关联(无需Controller)

若不想使用aws-load-balancer-controller,可手动维护Pod与TargetGroup的关联,但需自行处理动态扩缩容:

  1. 调整TargetGroup配置
    确保CF创建的TargetGroup的TargetType为ip,支持直接注册Pod的IP地址(Pod IP需属于EKS集群所在VPC的子网)。

  2. 创建ClusterIP Service
    生成指向Pod的ClusterIP Service,作为Pod的统一访问入口。

  3. 手动注册Pod IP到TargetGroup
    使用AWS CLI将Pod IP注册到TargetGroup,示例命令:

    aws elbv2 register-targets --target-group-arn <你的TargetGroup ARN> --targets Id=<PodIP1> Id=<PodIP2>
    

    需自行编写脚本或自定义控制器,在Pod创建/销毁时自动更新TargetGroup的注册目标,否则无法适配Pod动态扩缩容。

  4. 确认流量规则与安全组
    确保已有Listener规则将流量转发到该TargetGroup,且安全组配置允许ALB与Pod互通:ALB安全组出方向开放Pod监听端口,Pod安全组入方向允许ALB安全组的流量。

注意事项

  • CloudFormation资源与EKS集群必须处于同一VPC,否则无法实现网络互通。
  • 使用方案一时,不要修改CF中ALB、TargetGroup的核心配置(如VPC、TargetType),避免关联失效。

内容的提问来源于stack exchange,提问作者Mateus Amorim Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:48:11