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集群
2. 创建EC2访问客户端及配置
安装更新aws cli
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./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提供商
2. 创建控制器角色
角色权限如下
https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.4/docs/install/iam_policy.json
3. 创建服务账户
4. 创建ALB控制器
安装helm
03
测试
1. 新建两个服务
2. 创建ingress
以两个service为路径,跳转不同服务
通过标签将不同路径跳转不同的目标组
目标组注册不同的目标,实现服务的跳转
3. 查看控制,访问测试
04
FAQ
1. 在创建ingress后,无法看到ALB地址
查看日志发现可调用子网小于1
需要给子网打上标签
2. 在将一条action的tg注释掉后,这条路径将不能访问
3.name: use-annotation调用以上定义的tg,不可删除,删除后报错