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
相关推荐
AKAMAI13 小时前
2026年Gartner Peer Insights 边缘分布平台客户之声将Akamai评为客户之选
人工智能·云计算
故乡dee云17 小时前
AWS 产品太多不会选?按“网站、数据库、文件、日志”4 类需求快速匹配
数据库·云计算·aws
yunlaodacom1 天前
腾讯云国际站注册:云防火墙外联告警频发?Linux异常连接与恶意进程溯源全指南
云计算·腾讯云·云防火墙
聚搜云——JuSouClouD1 天前
深圳阿里云代理商:云主机性能下滑 诊断优化实战分享
阿里云·云计算
骇客野人2 天前
阿里云运维手册(通用生产版|云上运维标准化文档)
运维·阿里云·云计算
Benszen3 天前
云计算基础-13:Linux网络管理实战-1
linux·运维·云计算
翼龙云_cloud3 天前
亚马逊云代理商:VPC网络ACL和安全组配置实践 从网络层到实例层的双重防护
运维·网络·安全·云计算·aws
聚搜云——JuSouClouD3 天前
广州阿里云代理商:多 Agent 协同异常 三大核心问题解析
网络·阿里云·云计算
酷可达拉斯4 天前
Linux操作系统-升级OpenSSH修复漏洞
linux·运维·服务器·云计算