SuperAPI AI 工具集

eks

部署与运维

查看项目

更新于 10-15 12:05

技能介绍

用途

Amazon Elastic Kubernetes Service (EKS) 用于在 AWS 上运行 Kubernetes,无需自行安装和运维控制平面。EKS 负责管理控制平面并与 AWS 服务集成。本技能资料面向需要创建集群、配置 IRSA、管理节点组和部署工作负载的场景。

核心概念

  • 控制平面:由 AWS 管理,跨多个可用区运行 Kubernetes API 服务器、etcd 和控制器。
  • 节点组:分为托管(AWS 管理预置与更新)、自管理(由你管理 EC2 实例)、Fargate(无服务器、按 Pod 计算)三种类型。
  • IRSA(IAM Roles for Service Accounts):将 Kubernetes 服务账户与 IAM 角色关联,实现细粒度的 AWS 权限。
  • 附加组件:运维软件,包括 CoreDNS、kube-proxy、VPC CNI、EBS CSI 驱动。

主要能力与常见操作模式

创建集群

可使用 AWS CLI 或 eksctl(推荐)。AWS CLI 方式需先创建集群角色并附加 AmazonEKSClusterPolicy 策略,再执行 aws eks create-cluster,随后等待集群就绪并更新 kubeconfig。eksctl 方式可通过一条命令创建集群及托管节点组,指定名称、区域、版本、节点组名称、节点类型、节点数量及最小/最大节点数。

添加托管节点组

需先创建节点角色并附加 AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly、AmazonEKS_CNI_Policy 策略,然后使用 aws eks create-nodegroup 指定集群名、节点组名、节点角色、子网、实例类型、扩缩容配置和 AMI 类型。

配置 IRSA

推荐使用 eksctl 的 associate-iam-oidc-provider 启用 OIDC 提供者,再用 create iamserviceaccount 创建服务账户对应的 IAM 角色并附加策略。也可手动获取 OIDC 颁发者、创建信任策略、创建 IAM 角色,并在 Kubernetes ServiceAccount 上通过注解 eks.amazonaws.com/role-arn 关联角色。

安装附加组件

通过 aws eks create-addon 安装 CoreDNS、VPC CNI、kube-proxy、EBS CSI 驱动等,可指定附加组件版本;EBS CSI 驱动需提供服务账户角色 ARN。

部署应用

提供 Deployment 与 Service 的 YAML 示例,包含副本数、标签选择器、serviceAccountName、容器镜像、端口、资源请求与限制,以及使用 NLB 的 LoadBalancer 服务注解。

CLI 参考

  • 集群管理:create-cluster、describe-cluster、update-cluster-config、delete-cluster、update-kubeconfig。
  • 节点组:create-nodegroup、describe-nodegroup、update-nodegroup-config、delete-nodegroup。
  • 附加组件:create-addon、describe-addon、update-addon、delete-addon。

最佳实践

  • 安全:使用 IRSA 实现 Pod 级 AWS 权限;启用 KMS 集群加密;API 服务器使用私有端点;启用审计日志到 CloudWatch;为 Pod 使用安全组;实施网络策略。
  • 高可用:跨多个可用区部署;使用托管节点组;设置 Pod 中断预算;配置水平 Pod 自动扩缩。
  • 成本优化:非关键工作负载使用 Spot 实例;合理调整节点与 Pod 规格;可变工作负载使用 Fargate;实施集群自动扩缩器;使用 Karpenter 实现高效扩缩。

故障排查

  • 无法连接集群:更新 kubeconfig、检查 IAM 身份、验证集群状态。
  • 节点未加入:检查节点 IAM 角色策略、安全组是否允许节点与控制平面通信、节点能否访问 API 服务器;查看节点状态、aws-auth ConfigMap、kubelet 日志。
  • Pod 无法访问 AWS 服务:验证 IRSA 设置、检查 Pod 环境变量、测试凭证。
  • DNS 问题:检查 CoreDNS Pod、测试 DNS 解析、查看 CoreDNS 日志。

限制

资料未提供具体收费、价格、平台限制或效果数据,相关内容暂未提供。