EKS 简介
支持版本: Amazon EKS 1.31, 1.32, 1.33 最后更新: February 21, 2026
Amazon Elastic Kubernetes Service (EKS) 是一项用于在 AWS 上运行 Kubernetes 的托管服务。在本章中,我们将介绍 EKS 的基本概念、架构,以及它与标准 Kubernetes 的区别。
EKS 和 Kubernetes
EKS 是一项提供标准 Kubernetes API 的托管服务。有关 Kubernetes 基本概念和运行方式的详细信息,请参阅 Kubernetes 简介 文档。
EKS 的主要优势
- Managed Control Plane(托管控制平面): AWS 管理 Kubernetes Control Plane 的可用性和可扩展性
- 增强安全性: 通过与 AWS IAM 集成实现身份验证和授权
- AWS Service Integration(AWS 服务集成): 与其他 AWS 服务(ELB、ECR、IAM 等)无缝集成
- 多种 Compute Options(计算选项): 支持包括 EC2、Fargate 和 Bottlerocket 在内的多种计算选项
- Auto Scaling(自动扩缩): 通过 Cluster Autoscaler、Karpenter 等提供 Auto Scaling 支持
- Managed Node Groups(托管节点组): 自动化 Node 生命周期管理
EKS 架构和组件
Amazon EKS 的整体架构如下:
Control Plane
EKS 提供高可用的 Control Plane。Control Plane 跨多个 availability zones 运行,并由以下组件组成:
- API Server: 暴露 Kubernetes API,并处理与 cluster 的交互。
- etcd: 一个分布式键值存储,用于存储 cluster state。
- Controller Manager: 运行用于管理 cluster state 的 controllers。
- Scheduler: 将 pods 分配到 nodes。
在 EKS 中,这些 Control Plane 组件由 AWS 管理,因此用户无需直接管理它们。
Data Plane
EKS Data Plane 可以使用以下选项进行配置:
- Managed Node Groups: 由 EC2 instances 组成的 Node groups,其中 AWS 管理 Node 生命周期。
- Self-Managed Nodes: 由用户直接管理的 EC2 instances。
- AWS Fargate: 一种 serverless compute engine,可免除为运行 containers 而管理 infrastructure 的需求。
Networking
EKS 使用 Amazon VPC CNI plugin 提供 pod networking。该 plugin 为每个 pod 分配 VPC IP 地址,从而能够使用 AWS networking capabilities。
标准 Kubernetes 和 EKS 之间的区别
管理责任
- Standard Kubernetes: 用户必须同时管理 Control Plane 和 Data Plane。
- EKS: AWS 管理 Control Plane,用户只需要管理 Data Plane。
Networking
- Standard Kubernetes: 你可以从多种 CNI plugins 中进行选择。
- EKS: 默认使用 Amazon VPC CNI,并且每个 pod 都会被分配一个 VPC IP 地址。
Load Balancing
- Standard Kubernetes: 必须安装单独的 controller 才能使用
LoadBalancer类型的 services。 - EKS:
LoadBalancer类型的 services 会自动创建 AWS Network Load Balancer (NLB)。要使用 Application Load Balancer (ALB),需要安装 AWS Load Balancer Controller。
Storage
- Standard Kubernetes: 必须手动安装并配置各种 storage drivers。
- EKS: 默认提供 AWS EBS CSI driver,并且可以轻松安装适用于 EFS 和 FSx 等其他 AWS storage services 的 drivers。
EKS 成本结构
运行 EKS cluster 时产生的成本如下:
- EKS Control Plane Cost: 每个 cluster 按小时收取费用。
- Compute Costs:
- EC2 instances(managed 或 self-managed nodes)
- Fargate(根据 pod 运行时间和资源使用量计费)
- Storage Costs: EBS、EFS、FSx 等 storage services 的成本
- Network Costs: 数据传输和 load balancer 使用成本
成本优化策略
- 使用 Spot Instances: 最多可降低 90% 的成本。
- 利用 Fargate: 适用于利用率较低的 workloads。
- 配置 Auto Scaling: 根据需要自动向上和向下扩缩 nodes。
- Locality Routing: 将流量保持在同一 availability zone 内,以降低网络成本。
- EKS Auto Mode: 通过自动 cluster scaling 优化成本。
- Hybrid Nodes: 通过混合多种 instance types 提高成本效率。
与 AWS 服务集成
EKS 与以下 AWS 服务集成:

- IAM: 通过与 Kubernetes RBAC 集成来管理身份验证和授权。
- VPC: 提供 networking infrastructure。
- CloudWatch: 提供 monitoring 和 logging。
- ALB/NLB: 提供 load balancing。
- ECR: 提供 container image registry。
- EBS/EFS/FSx: 提供 persistent storage。
- AWS App Mesh: 提供 service mesh capabilities。
- AWS Certificate Manager: 管理 SSL/TLS certificates。
- AWS Secrets Manager: 安全地存储和管理敏感信息。
- AWS SageMaker: 运行 machine learning workloads。
- AWS Bedrock: 利用 generative AI models。
EKS 最佳实践
- Cluster Design:
- 跨多个 availability zones 部署 nodes
- 选择合适的 instance types
- 制定 node group 策略
- Security:
- 应用 least privilege 原则
- 实施 network policies
- 应用 pod security policies
- Image scanning 和 vulnerability management
- Networking:
- 合理的 subnet design
- Security group configuration
- 利用 Locality Routing
- Monitoring and Logging:
- 启用 CloudWatch Container Insights
- 配置 Control Plane logging
- 利用 Prometheus 和 Grafana
- Upgrade Strategy:
- 规划定期 upgrades
- 考虑 blue/green deployment 策略
- 在 upgrades 前执行测试
测验
要测试你在本章中学到的内容,请尝试 Amazon EKS 简介测验。