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
相关推荐
小葱运维2 天前
命名与环境规范
运维·开源·云计算
workflower2 天前
SSH(Struts+Spring+Hibernate)
人工智能·机器学习·机器人·云计算·无人机
不吃香菜kkk、2 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
金融小师妹2 天前
AI金融能力评估:18个主流模型金融问题平均错误率达57%
人工智能·云计算·逻辑回归·深度优先
whyutianict_vv2 天前
云计算运维培训课程技术栈拆解:从 Linux 网络到 AI 推理的五层能力分层
linux·云计算
ZStack开发者社区2 天前
ZSvirt 开源月报第 1 期 · Around the World
开源·云计算·vmware·虚拟化
QYRdata2 天前
ICMP云管理平台2026-2032年CAGR达13.5% 未来发展潜力凸显
云计算·服务发现
天翼云开发者社区2 天前
央国企大模型安全合规应用新标杆!中国电信天翼云推出央企可信Token专区!
云计算·大模型推理服务
AKAMAI3 天前
Akamai 云服务持续强化其基础架构(更新时间:2026年8月)
人工智能·云计算
zhaodezhu16883 天前
软件SaaS信息技术云计算GEO优化公司专属服务活动正式开启
云计算·信息技术·geo优化·软件saas·公司服务