EKS 上的网络负载均衡器与 AWS 负载均衡器控制器

Posted

技术标签:

【中文标题】EKS 上的网络负载均衡器与 AWS 负载均衡器控制器【英文标题】:Network Load Balancer on EKS with AWS Load Balancer Controller 【发布时间】:2021-12-04 07:15:41 【问题描述】:

我使用来自AWS EKS Quick Start 的 Cloudformation 模板部署了一个 EKS 集群

我在部署时启用了插件“AWS 负载均衡器控制器”,看起来不错

然后,我尝试使用 LoadBalancer 类型的 Kubernetes 服务部署 NLB,我遵循 this guide,非常直接

apiVersion: v1
kind: Service
metadata:
  name: sample-service
  annotations:
    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-scheme: internet-facing
spec:
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
  type: LoadBalancer
  selector:
    app: nginx

不幸的是,我遇到了一种权限错误,你能建议如何解决它吗? 谢谢。

【问题讨论】:

【参考方案1】:

在你的集群上安装LB控制器是不够的,你需要setup the necessary policy and permission让你的控制器与ELB交互。

【讨论】:

好的,我认为 AWS EKS 快速入门已经预置了所有必要的东西,谢谢。顺便说一句,我现在无法删除服务(可能是因为错误,它永远处于挂起状态),我如何强制删除它(sample-service LoadBalancer 172.20.91.141 80:31816/TCP 5h30m ) 不要强制删除 LB 服务,否则它可能会成为孤立对象。请标记答案,因为它会引导您找到正确的路径。

以上是关于EKS 上的网络负载均衡器与 AWS 负载均衡器控制器的主要内容,如果未能解决你的问题,请参考以下文章

使用 AWS 负载均衡器将来自 EKS 的 FastAPI 公开给外部世界

带有 ALB 入口控制器的 Terraform AWS Kubernetes EKS 资源不会创建负载均衡器

负载均衡器的 AWS EKS 服务 EXTERNAL-IP 处于待处理状态

如何配置 AWS 网络负载均衡器以使用 Terraform 路由 HTTPS 流量?

私有子网中的 EKS,公共子网中的负载均衡器

使用 aws Autoscaling 组直接附加应用程序负载均衡器/网络负载均衡器