【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器

Amazon Elastic Kubernetes Service

以下简称-Amazon EKS

Amazon EKS是一项托管 Kubernetes 服务,Amazon EKS 可自动管理负责安排容器、管理应用程序可用性、存储集群数据和其他关键任务的 Kubernetes 控制面板节点的可用性和可扩展性。通过 Amazon EKS,您可以利用亚马逊云科技基础设施的所有性能、规模、可靠性和可用性,以及与亚马逊云科技网络和安全服务的集成。

Amazon EKS 已成为众多客户在亚马逊云科技上运行和管理容器服务的首选,随着越来越多的项目部署在 Amazon EKS 中,如何根据用户对 EKS 集群不同的管理需求授予不同的权限,Amazon EKS 提供了与 AWS IAM 的集成,允许将 IAM 用户与 Kubernetes 集群中的角色绑定在一起,从而实现对集群资源的访问控制。通过这种方式,可以实现统一的身份认证和授权管理,简化集群权限管理的流程,并确保与亚马逊云科技账户的一致性。

本文介绍了如何在亚马逊云科技上创建负载均衡器,选择创建应用程序负载均衡器,配置路由并创建目标组。重点在于帮助大家如何根据不同的路径选择不同的目标组,以实现更精细的服务调度。

01 准备工作

1. 创建EKS集群

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_02

2. 创建EC2访问客户端及配置

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_03

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_Amazon_04

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_Amazon_05

安装更新aws cli

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install退出当前窗口重新登录[ec2-user@ip-172-32-13-194 ~]$ sudo su -

Last login: Mon Apr 24 09:23:58 UTC 2023 on pts/0

[root@ip-172-32-13-194 ~]# aws --version

aws-cli/2.11.15 Python/3.11.3 Linux/5.10.176-157.645.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off

安装kubectl


02  部署控制器

1. 创建OIDC提供商

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_06

2. 创建控制器角色

角色权限如下

https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.4/docs/install/iam_policy.json

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_07

3. 创建服务账户

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_Amazon_08

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_09

4. 创建ALB控制器

安装helm

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_10

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_11


03 测试

1. 新建两个服务

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_12

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_13

2. 创建ingress

以两个service为路径,跳转不同服务

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_Amazon_14

通过标签将不同路径跳转不同的目标组

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_15

目标组注册不同的目标,实现服务的跳转

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_16

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_17

3. 查看控制,访问测试

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_18

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_Amazon_19


04 FAQ

1. 在创建ingress后,无法看到ALB地址

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_Amazon_20

查看日志发现可调用子网小于1

需要给子网打上标签

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_21

2. 在将一条action的tg注释掉后,这条路径将不能访问

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_子网_22

【技术分享】Amazon EKS-不同的服务根据路径实现ALB的跳转_均衡器_23

3.name: use-annotation调用以上定义的tg,不可删除,删除后报错