57 lines
4.9 KiB
Markdown
57 lines
4.9 KiB
Markdown
---
|
||
title: "Public Cloud Learning Sessions - EKS Optimization Part 3 of 3 - Introduction to EKS Auto Mode"
|
||
type: source
|
||
tags: []
|
||
date: 2025-03-04
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/04_EKS/public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks-.md]]
|
||
|
||
## Summary(用中文描述)
|
||
- 核心主题:EKS Auto Mode — AWS 将 EKS 数据平面管理责任扩展至计算节点托管
|
||
- 问题域:EKS 集群运维复杂度高(实例管理、OS 补丁、安全更新)
|
||
- 方法/机制:Carpenter Controller 负责节点生命周期管理;Bottlerocket OS 提供最小化安全操作系统;AWS Load Balancer Controller 处理 ingress;EBS CSI Controller 支持有状态工作负载;Pod Identity Associations 替代 K8s RBAC 进行 Pod 级 IAM 权限控制;12% 实例费用溢价覆盖自动管理成本
|
||
- 结论/价值:EKS Auto Mode 大幅降低 K8s 运维负担,用户只需关注 VPC 配置、集群配置和 workload 配置;数据平面升级自动化(控制面升级后 Carpenter 自动触发滚动升级);与标准 Kubernetes 工作负载完全兼容
|
||
|
||
## Key Claims(用中文描述)
|
||
- EKS Auto Mode 将数据平面管理责任从用户扩展至 AWS 服务,覆盖实例、OS、补丁和安全更新
|
||
- EKS Auto Mode 默认提供两个节点池(General Purpose 和 System)和一个节点类(NodeClass)
|
||
- General Purpose 节点池锁定 AMD64 架构,Custom 节点池可指定 Graviton 实例类型
|
||
- System 节点池的节点带有 taint,系统 add-on 必须配置对应 tolerations
|
||
- EKS Auto Mode 包含核心集群能力:计算(Carpenter)、网络(AWS LB Controller)、存储(EBS CSI)、安全(Pod Identity Associations)
|
||
- Prefix Delegation 默认启用,优化 Pod 网络 IP 分配
|
||
- 数据平面升级由控制面版本升级触发,Carpenter Controller 自动识别并执行滚动升级
|
||
- 每个 Auto Mode 实例收取 12% 溢价,覆盖自动化管理成本
|
||
- 可观测性通过 CloudWatch Agent、ADOT(AWS Distro for OpenTelemetry)或第三方收集器实现
|
||
|
||
## Key Quotes
|
||
> "With Auto Mode, a majority of the operational concerns are being managed by the ECS service." — EKS Auto Mode 将大多数运维职责托管至 AWS
|
||
> "Once the control plane version gets upgraded, then the compute controller... will try to pull the current AMI version for that new control plane version." — 数据平面自动升级机制
|
||
|
||
## Key Concepts
|
||
- [[EKS Auto Mode]]:AWS EKS 的半托管模式,将计算节点的生命周期管理(实例采购、OS 补丁、安全更新)托管给 AWS,适用于希望降低 K8s 运维复杂度同时保留标准 K8s API 兼容性的团队
|
||
- [[Carpenter Controller]]:EKS Auto Mode 的计算控制器,负责节点池生命周期管理、AMI 版本管理和滚动升级编排
|
||
- [[Bottlerocket OS]]:Amazon 开发的容器专用最小化 Linux 操作系统,专为 EKS Auto Mode 设计,自动应用安全补丁
|
||
- [[AWS Load Balancer Controller]]:Auto Mode 特有的 LoadBalancer 类(eks.aws/alb),管理 ALB/NLB ingress 资源
|
||
- [[EBS CSI Controller]]:EKS Auto Mode 的存储控制器,提供 EBS 卷的动态供给,支持有状态工作负载(需配置 StorageClass 引用 eks-aws-ebs provisioner)
|
||
- [[Pod Identity Associations]]:AWS 提供的 Pod 级 IAM 权限控制机制,替代传统的 K8s RBAC + ServiceAccount IAM Role 模式,无需修改 ServiceAccount annotation
|
||
- [[Prefix Delegation]]:VPCCNI 的一个特性,为 Pod 分配 /28 前缀 IP 块而非单 IP,优化网络地址利用率,默认在 Auto Mode 中启用
|
||
- [[CoreDNS]]:K8s 集群 DNS 服务,在 Auto Mode 中作为系统服务打包至每个节点
|
||
- [[Kube Proxy]]:K8s 网络代理,在 Auto Mode 中以 IPtables 模式运行
|
||
- [[VPCCNI]]:Amazon VPC CNI 网络插件,在 Auto Mode 中作为系统服务运行
|
||
|
||
## Key Entities
|
||
- [[AWS]]:Amazon Web Services,EKS Auto Mode 的云服务提供商
|
||
- [[Amazon EKS]]:AWS 托管 Kubernetes 服务,Auto Mode 扩展了其托管范围至数据平面
|
||
|
||
## Connections
|
||
- [[public-cloud-learning-sessions-eks-optimization-part-1-of-3-compute-optimization]] ← extends ← [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]]
|
||
- [[public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w]] ← extends ← [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]]
|
||
- [[ctp-topic-59-achieving-reliability-with-amazon-eks]] ← related_to ← [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]]
|
||
- [[ctp-topic-64-scaling-out-with-amazon-eks]] ← related_to ← [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]]
|
||
- [[ctp-topic-70-eks-deployment-using-iac]] ← related_to ← [[public-cloud-learning-sessions-eks-optimization-part-3-of-3-introduction-to-eks]]
|
||
|
||
## Contradictions
|
||
- 暂无已知冲突内容
|