AWS EKS 集成Load Balancer Controller 对外暴露互联网可访问API [AWS 中国宁夏区]

作者:thinktik日期:2025/10/20

本文主要介绍AWS EKSAWS Elastic Load Balancing的集成;我们可以通过AWS ELB将运行在EKS中的服务暴露出去,供互联网访问。

AWS ELB提供的负载均衡,高可用,按流量自动弹性和自带的安全性服务(比如基础版的AWS Shield)给为我们的网络服务提供了高质量的保证。虽然我们也可以直接让K8S Service服务直接以public ip的方式来对外服务,但是一般技术和成本等综合来考虑不如AWS ELB。

如下图,AWS ELB充当运行在AWS上的动态API服务的总入口,LB可以将流量分布到后面的多种计算平台,并在多个AWS可用区和计算节点间分配网络流量以提高应用程序可扩展性和可靠性。image.png

安装AWS Load Balancer Controller add-on

我们可以参考Installing the AWS Load Balancer Controller add-onaws-load-balancer-controller

创建AWSLoadBalancerControllerIAMPolicy

下载iam_policy.json

1curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.0/docs/install/iam_policy_cn.json
2

用下载好的iam_policy.json创建policy

1aws iam create-policy \
2    --policy-name AWSLoadBalancerControllerIAMPolicy \
3    --policy-document file://iam_policy_cn.json
4

截图如下

image.png

创建ServiceAccount

为ELB创建service account,其中你需要将eks-cluster-nameaws account替换为你自己实际的值。

1  eksctl create iamserviceaccount \
2  --cluster=eks-cluster-name \
3  --namespace=kube-system \
4  --name=aws-load-balancer-controller \
5  --role-name AmazonEKSLoadBalancerControllerRole \
6  --attach-policy-arn=arn:aws-cn:iam::aws-account:policy/AWSLoadBalancerControllerIAMPolicy \
7  --approve
8

截图如下

截屏2025-10-17 18.49.57.png

安装cert-manager

我们需要安装cert-manager以便将证书配置注入Webhook,最简单的方式就是在AWS EKS插件商店中国进行可视化安装。

截图如下image.png

如果你喜欢命令行操作也可以执行

1kubectl apply \
2    --validate=false \
3    -f https://github.com/jetstack/cert-manager/releases/download/v1.13.5/cert-manager.yaml
4

下载AWS Load Balancer Controller的

1https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.13.3/v2_13_3_full.yaml
2

这里推荐使用helm进行安装,其中集群名称换为自己实际的集群名称

1helm repo add eks https://aws.github.io/eks-charts
2helm repo update eks
3helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
4  -n kube-system \
5  --set clusterName=my-cluster \
6  --set serviceAccount.create=false \
7  --set serviceAccount.name=aws-load-balancer-controller 
8

安装后我们可以进行检查,出现aws-load-balancer-controller 2/2字样就证明安装成功了

1kubectl get deployment -n kube-system aws-load-balancer-controller
2

截图如下截屏2023-12-02 23.04.25.png

功能测试

我们可以按照自己的需求使用AWS ALBAWS NLB。ALB和NLB都隶属于AWS ELB,区别在ALB专注于L7,NLB专注于L4;ALB是我们使用HTTP协议时首选,NLB是我们使用自定义协议、MQTT等非HTTP协议的首选,NLB可以同时满足L4/L7的负载需求但是ALB只能用于L7。

我们可以参考Application load balancing on Amazon EKSNetwork load balancing on Amazon EKS来进行功能测试

比如按照Application load balancing on Amazon EKS,我最终得到了一个2048页游。截屏2023-12-02 23.32.52.png

关于AWS EKS和AWS ELB的集成的一些建议

我们可以在kubernetes-sigs AWS Load Balancer Controller查看EKS+LB相关的yaml详细设置。

一般我们在写好LB相关的yaml后,应用yaml会自动创建一个LB,这在大多数全新上线的部署场景是非常方便的;但是如果我们已经有了一个LB用于普通的EC2应用或者EKS已经给我创建了一个LB,我们现在想复用现有的LB,那么我们可以考虑TargetGroupBinding,它的原理是我们只需要提前设置好TargetGroup和LB的关系,然后我们只需要在yaml中将自己的服务和TargetGroup绑定即可。

docs.amazonaws.cn/eks/latest/…

docs.amazonaws.cn/eks/latest/…

github.com/kubernetes-…

lbc-overview.png


AWS EKS 集成Load Balancer Controller 对外暴露互联网可访问API [AWS 中国宁夏区]》 是转载文章,点击查看原文


相关推荐


AI环境下的网络安全人才的发展方向
Mr_Meng_De2025/10/19

2025年9月16日,2025年国家网络安全宣传周分论坛上发布《AI时代网络安全产业人才发展报告(2025)》。 《报告》由工业和信息化部教育与考试中心、安恒信息、中国联合网络通信有限公司软件研究院、全国数字安全行业产教融合共同体、中国网络空间新兴技术安全创新论坛、智联招聘、中国网络空间安全人才教育论坛联合编制。 AI驱动网络安全领域岗位革新与挑战升级 随着人工智能技术与网络安全行业的深度融合,当代大学生对这一技术变革带来的就业影响形成了较为全面的认知。约三分之一(33.5%)的学生表现出


策略模式:让算法选择像点菜一样简单
太过平凡的小蚂蚁2025/10/18

什么是策略模式? ​策略模式(Strategy Pattern)​​ 是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户端。 简单来说:​定义策略家族,让客户端自由选择。​​ 现实世界类比 想象你去餐厅吃饭: ​策略接口​:点菜这个行为 ​具体策略​:中餐、西餐、日料等不同菜系 ​上下文​:餐厅(提供点菜环境) ​客户端​:你(根据心情选择今天吃什么) 模式结构 classDiagra


VSCODE GDB调试
Gary Studio2025/10/16

流程 1.首先点击左侧的小虫子按钮 2.选择gdb调试 3.在program一栏填上你需要调试的可执行文件 注意:编译的时候记得在编译命令的最后或者在前面的语句中添加-g 增加调试的选项 例如下面 PS D:\CODE\c> gcc .\04_example2.c -o .\04_example2 -g 4.在需要调试的代码打上断点即可开启运行。 补充 有时候运行不起来有可能是没有安装gdb或者是gdb的环境变量没有配置造成的 验证gdb是否安装 输入以下指令


SpringBoot实现JWT动态密钥轮换
风象南2025/10/15

背景:为什么 JWT 密钥也要"轮换" JWT(JSON Web Token) 是当代认证体系的常用方案, 无论是单体系统、微服务、还是前后端分离登录,几乎都会用到它。 但在大多数系统里,签名密钥往往是一成不变的—— 一旦生成,常年不换,代码里写死或放在配置文件中。 这其实非常危险: 一旦密钥被误传或泄露,攻击者就能伪造任意用户的合法 Token 无论是测试环境误配置,还是日志误打出 key,都可能导致密钥泄露,带来安全隐患 于是我们面临一个工程问题: "如何能动态更新 JWT 签名密钥,


从Java集合到云原生现代数据管理的演进之路
kkjt01302025/10/14

从Java集合到云原生现代数据管理的演进之路在软件开发的漫长历程中,数据管理技术的演进一直是推动应用架构变革的核心动力。从最初在单一应用内存中操作的Java集合,到今天跨越全球分布式环境的云原生数据平台,这条路不仅反映了技术的飞跃,更体现了我们对数据处理能力、规模和敏捷性不断增长的需求。这一演进是渐进而深刻的,每一步都为了解决特定时代的核心挑战。Java集合:单机时代的基石Java集合框架(Java Collections Framework, JCF)是早期Java应用数据管理的基石。它以Li


如何为Spring Cloud Gateway配置具体的负载均衡策略?
IT橘子皮2025/10/12

以下是针对 ​Spring Cloud Gateway​ 配置具体负载均衡策略(如加权轮询、最小连接数等)的详细指南,结合最新技术文档和最佳实践: 一、基础配置与依赖 1. ​引入依赖​ 确保项目中已包含 Spring Cloud Gateway 和负载均衡器(Spring Cloud LoadBalancer)的依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cl


零基础学JavaScript:手把手带你搭建环境,写出第一个程序!
良山有风来2025/10/11

开头:你是不是也遇到过这些问题? 刚学JavaScript的时候,你是不是一脸懵? 打开教程,满屏的“Node.js”、“npm”、“VS Code”,完全不知道从哪下手? 照着网上的教程配置环境,结果各种报错,心态爆炸? 写了半天代码,连个“Hello World”都显示不出来? 别担心!这篇文章就是为你准备的。 我会用最直白的方式,带你一步步搭建JavaScript开发环境,并写出你的第一个程序。 看完这篇文章,你不仅能顺利运行第一个JavaScript程序,还能理解背后的原理,为后续学习打


【机器学习】无监督学习 —— K-Means 聚类、DBSCAN 聚类
一杯水果茶!2025/10/9

K-Means 聚类标准 K-Means 算法K-Means 评估:肘部法则(Elbow Method)与轮廓系数(Silhouette Score)1. 肘部法则(Elbow Method)2. 轮廓系数(Silhouette Score) DBSCAN 聚类(Density-Based Spatial Clustering of Applications with Noise)DBSCAN 的关键参数DBSCAN 算法 K-Means 聚类 K‑Means 聚类 是一种


一文读懂 Vue 组件间通信机制(含 Vue2 / Vue3 区别)
excel2025/10/8

一、组件间通信的概念 在 Vue 中,组件(Component) 是最核心的概念之一。每个 .vue 文件都可以视为一个独立的组件。 而 通信(Communication) 是指一个组件如何将信息传递给另一个组件。 通俗地说: 组件间通信,就是不同组件之间如何共享数据、触发行为、进行信息交互的过程。 例如:当我们使用 UI 框架中的 table 组件时,需要向它传入 data 数据,这个“传值”的过程本质上就是一种组件通信。 二、组件间通信解决了什么问题? 在实际开发中,每个组件都有自己的


【Node】Node.js 多进程与多线程:Cluster 与 Worker Threads 入门
你的人类朋友2025/10/6

前言 在 Node.js 开发中,处理 CPU 密集型任务和提升应用性能是常见需求。 今天我们来深入理解 Node.js 提供的两种并发处理方案:Cluster 模块和 Worker Threads 模块。 ☺️ 这边要求阅读本文的新手小伙伴要有一个印象:【Cluster】 与【进程】相关,【Worker Threads】 与【线程】相关 小贴士 📚: ✨Cluster 的中文意思是集群 ✨Worker Threads 的中文意思是工作线程 官方定义解析 Node.js 官方文档指出:

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0