AWS EKS 集群部署与清理手顺

使用 AWS 控制台创建 Amazon EKS 集群

参考文档 :AWS EKS 入门指南

本文档将指导您使用 AWS 控制台创建 Amazon EKS 集群,涵盖从网络配置到资源清理的完整流程。

前提条件

  • 拥有 AWS 账户并具备相应权限
  • 已安装 AWS CLI 并完成配置
  • 已安装 kubectl 工具

1. 创建 Amazon VPC

VPC(虚拟私有云)是 AWS 中的虚拟网络环境,为 EKS 集群提供隔离的网络空间。

步骤

  1. 使用以下 CloudFormation 模板创建 VPC:
bash 复制代码
aws cloudformation create-stack \
  --region ap-northeast-1 \
  --stack-name eks-vpc-stack \
  --template-url https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml

注意 :如果遇到 SSL 错误,可添加 --no-verify-ssl 选项。

创建进度可通过 AWS Console 的 CloudFormation 服务查看。

2. 创建集群 IAM 角色

IAM 角色定义了 EKS 集群的权限,允许集群访问所需的 AWS 资源。

2.1 创建信任策略文件

创建名为 cluster-role-trust-policy.json 的文件,内容如下:

json 复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

2.2 创建 IAM 角色

使用以下命令创建 IAM 角色:

bash 复制代码
aws iam create-role \
  --role-name AmazonEKSClusterRole \
  --assume-role-policy-document file://"cluster-role-trust-policy.json"

2.3 附加 EKS 管理策略

为角色附加必要的 EKS 管理策略:

bash 复制代码
aws iam attach-role-policy \
  --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \
  --role-name AmazonEKSClusterRole

3. 创建 EKS 集群

EKS 集群是 Kubernetes 的控制平面,负责管理容器编排和调度。

3.1 访问 Amazon EKS 控制台

  1. 登录 AWS 管理控制台
  2. 导航到 Amazon EKS 服务
  3. 点击"创建集群"

配置选项

集群配置

  • 集群名称:cluster
  • Kubernetes 版本:选择最新稳定版本
  • 集群服务角色:选择 AmazonEKSClusterRole
  • 其他选项:保持默认

网络配置

  • VPC:选择之前创建的 VPC(vpc-00x0000x000x0x000 | eks-vpc-stack-VPC)
  • 子网:选择 VPC 中的公有和私有子网
  • 安全组:使用默认安全组或创建新的
  • 其他选项:保持默认

日志记录配置

  • 所有选项保持默认

确认与创建

  • 检查配置信息,点击"创建"
  • 集群状态将显示为"创建中",此过程需要 10-15 分钟
  • 等待状态变为"活跃"

4. 配置集群连接

配置连接让本地 kubectl 能够与远程 EKS 集群通信。

4.1 更新 kubeconfig 文件

运行以下命令更新本地 kubeconfig:

bash 复制代码
aws eks update-kubeconfig \
  --region ap-northeast-1 \
  --name cluster

4.2 测试连接

验证集群连接是否正常:

bash 复制代码
kubectl get svc

预期输出示例:

复制代码
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   4m37s

如果看到类似输出,说明连接成功。

5. 创建节点组

节点组是运行容器的工作节点集合,为集群提供计算资源。

本手顺使用托管节点组。

5.1 创建节点角色信任策略文件

创建 node-role-trust-policy.json 文件,内容如下:

json 复制代码
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

5.2 创建节点 IAM 角色

bash 复制代码
aws iam create-role \
  --role-name AmazonEKSNodeRole \
  --assume-role-policy-document file://"node-role-trust-policy.json"

5.3 附加必要的托管 IAM 策略

bash 复制代码
# 附加 EKS 工作节点策略
aws iam attach-role-policy \
  --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \
  --role-name AmazonEKSNodeRole

# 附加 ECR 只读权限
aws iam attach-role-policy \
  --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \
  --role-name AmazonEKSNodeRole

# 附加 CNI 网络策略
aws iam attach-role-policy \
  --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \
  --role-name AmazonEKSNodeRole

5.4 在 EKS 控制台创建节点组

  1. 打开 Amazon EKS 控制台
  2. 选择已创建的集群 cluster
  3. 点击"添加节点组"
  4. 按以下步骤配置:

节点组配置

  • 名称:nodegroup
  • 节点 IAM 角色:AmazonEKSNodeRole
  • 其他选项:保持默认

计算与扩缩容配置

  • 所有选项保持默认

网络配置

  • 所有选项保持默认

确认与创建

  • 检查配置信息,点击"创建"
  • 节点组状态将显示为"创建中",此过程需要几分钟
  • 等待状态变为"活跃"

6. 验证资源

6.1 查看集群资源

  • 在 Amazon EKS 控制台选择集群
  • 查看创建的集群 cluster 详情

6.2 获取集群令牌(可选)

bash 复制代码
aws eks get-token --cluster-name cluster

7. 清理资源(评估完成后)

7.1 删除节点组

  1. 访问 Amazon EKS 控制台
  2. 选择集群 cluster
  3. 进入"配置" → "计算"标签页
  4. 选择节点组,点击"删除"

7.2 删除集群

  1. 访问 Amazon EKS 控制台
  2. 选择集群 cluster
  3. 点击"删除集群",确认删除

7.3 删除 VPC CloudFormation 堆栈

  1. 访问 AWS CloudFormation 控制台
  2. 选择堆栈 eks-vpc-stack
  3. 点击"删除",确认删除

7.4 删除 IAM 角色

  1. 访问 IAM 控制台
  2. 进入"角色"页面
  3. 分别选择并删除以下角色:
    • AmazonEKSNodeRole
    • AmazonEKSClusterRole
相关推荐
yichengerp27 分钟前
电子元件ERP软件哪个好用?易呈云ERP与主流方案对比解析
大数据·运维·人工智能·云计算·制造
AKAMAI11 小时前
Akamai 宣布与Anthropic达成 116 亿美元多年期协议,以支持其日益增长的需求
人工智能·云计算
workflower19 小时前
手术机器人市场发展阶段
大数据·人工智能·机器人·云计算·无人机
yichengerp1 天前
中小电子厂用什么ERP?电子厂ERP管理软件实施要点与易呈方案推荐
大数据·运维·人工智能·云计算·制造
励志师code1 天前
RoCE 网络实战:从 NCCL 调优到 RDMA 硬件计数器排障
linux·运维·网络·云计算
腾讯云大数据1 天前
本体立骨架,语义供刻度——DataBuddy对企业AI语义架构的一次完整回答
大数据·人工智能·架构·云计算·腾讯云
KIDULT°1 天前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
yichengerp2 天前
电子行业常用erp系统有哪些?推荐适合中小电子厂的易呈erp软件,操作简单,易落地
大数据·运维·人工智能·云计算·制造
做运维的阿瑞2 天前
公有云算力布局的技术逻辑与工程实践
微服务·云计算·csdn开发云
朱包林2 天前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算