Amazon EKS
全托管提供 Kubernetes 控制平面的服务,可将本地 Kubernetes 工作负载无缝迁移到 AWS
概述
Amazon EKS(Elastic Kubernetes Service)是 AWS 的全托管 Kubernetes 服务。管理 Kubernetes 控制平面的高可用性和版本升级,用户只需关注工作负载的部署和运营。与 AWS 的网络、安全、监控服务深度集成,支持 Fargate 和 EC2 节点组两种计算选项。
与 ECS 的选择标准与成本结构
ECS 是 AWS 原生的容器编排服务,学习曲线低、与 AWS 服务集成紧密。EKS 提供标准 Kubernetes API,适合已有 Kubernetes 经验的团队或需要多云/混合云可移植性的场景。成本方面,EKS 控制平面每月 73 美元(ECS 免费),但 EKS 的生态系统(Helm charts、Operators、CNCF 工具链)更丰富。选择标准:如果团队熟悉 Kubernetes 且需要可移植性,选 EKS;如果追求简单性和 AWS 深度集成,选 ECS。
节点组与 Karpenter 扩展
EKS 支持托管节点组、自管理节点组和 Fargate 三种计算选项。托管节点组由 AWS 管理节点的配置和生命周期,是最简单的选择。Karpenter 是 AWS 开源的 Kubernetes 节点自动配置器,比 Cluster Autoscaler 更快速和灵活。Karpenter 直接调用 EC2 API 创建最优实例,无需预定义节点组,可在 30 秒内完成扩展。支持混合实例类型和 Spot 实例,自动选择最具性价比的配置。
安全与 EKS Anywhere
EKS 的安全模型基于 IAM 与 Kubernetes RBAC 的映射。aws-auth ConfigMap 或 EKS Access Entries 将 IAM 角色/用户映射到 Kubernetes 的 ClusterRole/Role。Pod 级别的 IAM 权限通过 IRSA(IAM Roles for Service Accounts)或 EKS Pod Identity 实现,避免节点级别的过度授权。EKS Anywhere 允许在本地数据中心运行 EKS 兼容的 Kubernetes 集群,使用与云端相同的工具和 API,适合有数据驻留要求或边缘计算需求的场景。