--- title: "Amazon EKS" type: concept tags: [AWS, Kubernetes, 托管服务, 容器编排] sources: [ctp-topic-70-eks-deployment-using-iac, public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks, ctp-topic-59-achieving-reliability-with-amazon-eks, ctp-topic-64-scaling-out-with-amazon-eks] last_updated: 2026-04-24 --- # Amazon EKS ## Overview Amazon Elastic Kubernetes Service (EKS) 是 AWS 提供的托管 Kubernetes 服务,提供完全托管的控制平面,支持零停机滚动部署和 Worker Node 自动扩缩容。 ## Key Features - **完全托管控制平面**:AWS 自动管理 Kubernetes Control Plane 的可用性和扩展性 - **零停机滚动部署**:Worker Node 更新时实现零停机 - **IAM RBAC Mapping**:通过最小权限原则控制 EKS 集群访问 - **多可用区高可用**:自动跨多个 AZ 部署 Control Plane - **与 AWS 服务集成**:VPC、CNI、IAM、CloudWatch、ALB 等原生集成 ## Deployment Methods ### Terraform 通过 `tera-grant.scl` 文件定义集群参数: - 环境变量配置 - EKS 集群版本 - Worker Node 类型(CPU/GPU/Default) - AWS Secret Manager 集成(工程联系人通知) ### AWS Service Catalog 通过产品组合模块化部署: - 版本选择 - Worker Node 类型配置 - 更精细的安全和权限控制 ## Networking ### EMI (ENI Multi-IP) 自定义网络解决方案,解决 VPC CIDR 限制: - 为 Pod 分配额外 IP 地址 - 通过虚拟弹性网络接口(ENI)实现 - 支持更高的 Pod 密度 ### ALB Ingress Controller AWS Load Balancer Controller 集成: - 管理 Application Load Balancer 资源 - 实现 Kubernetes Service 的七层负载均衡 - 自动配置路由规则 ## Autoscaling ### Cluster Autoscaler Kubernetes Cluster Autoscaler: - 根据资源需求自动扩缩 Worker Node - 与 AWS Auto Scaling Groups 集成 - 未来计划引入 Carpenter 实现更高效的实例类型创建 ## Monitoring - **CloudWatch Agent + FluentBit**:以 DaemonSet 方式部署,收集日志和指标 - **Container Insights**:发布容器级别指标到 CloudWatch - **AWS OpenTelemetry**:统一的可观测性数据采集方案 - **Grafana**:通过模板化仪表盘可视化指标 ## Related Concepts - [[Kubernetes]]:EKS 的底层技术 - [[Infrastructure as Code]]:EKS 部署的推荐方式 - [[AWS Service Catalog]]:EKS 部署的 Service Catalog 方式 - [[Cluster Autoscaler]]:Worker Node 自动扩缩容 - [[EMI]]:EKS 自定义网络方案 - [[CloudWatch Container Insights]]:EKS 监控方案 - [[AWS OpenTelemetry]]:可观测性数据采集