1. EKS平台工程全景

在云原生平台工程中,Amazon EKS 并不是一个孤立的托管 Kubernetes 服务,而是把 AWS 的 IAM、VPC、EC2、ELB、CloudWatch、EBS、EFS 等基础设施能力,与 Kubernetes 的声明式 API、调度、控制器模型组合起来的一层“平台底座”。平台工程团队真正交付的,不是某个集群本身,而是一套可复用、可审计、可升级、可观测的运行环境,让业务团队通过标准接口自助获得命名空间、工作负载、存储、入口、密钥和发布能力。

理解 EKS 的第一步,是分清控制面与数据面的职责边界。EKS 控制面由 AWS 托管,运行 API Server、etcd、调度器和各类控制器,负责接收声明、存储期望状态、执行调度与协调;数据面则由用户负责,通常由托管节点组、自管节点或 Fargate 承载,运行 kubelet、容器运行时、CNI 插件和实际业务 Pod。控制面决定“应该运行什么”,数据面决定“实际怎么运行”。平台工程的核心工作,正是围绕这条边界设计抽象:控制面侧通过 IAM、RBAC、准入控制、策略引擎约束“谁能提交什么”;数据面侧通过节点池、Karpenter、CNI、存储类、可观测代理决定“工作负载如何落地”。

EKS 平台工程全景:控制面 / 数据面 / 平台抽象 AWS 托管控制面(EKS Control Plane) 职责:接收声明、存储期望状态、调度决策、协调控制器 API Server 认证 / 准入 / 校验 etcd 集群状态存储 Scheduler 节点选择 / 打分 Controller Manager 副本 / 端点协调 IAM / OIDC 身份与访问 声明下发 / 状态回传 用户负责数据面(Data Plane) 职责:实际运行 Pod、网络、存储、日志与指标采集 托管节点组 EC2 / kubelet / 运行时 Karpenter 弹性节点供给 VPC CNI Pod IP / 安全组 EBS / EFS 持久化存储 Fargate 无服务器 Pod 资源抽象 / 能力封装 平台工程抽象层(Platform Engineering) 职责:把底层能力封装为自助、标准、可审计的平台接口 命名空间即服务 GitOps 发布 策略与合规 可观测基线 成本与配额 安全基线

平台工程与 SRE、DevOps 的关系,可以用“责任分层”来理解。DevOps 强调开发与运维协作、缩短交付周期;SRE 强调用工程手段管理可靠性,关注 SLO、错误预算、容量与故障响应;平台工程则把这两者的共性需求沉淀为内部平台产品。EKS 平台团队通常同时承担三种角色:为 DevOps 提供 CI/CD 与 GitOps 的落点,为 SRE 提供可观测、可扩缩、可恢复的运行时,为安全与合规提供统一入口和策略边界。三者不是替代关系,而是同一交付链上的不同关注面。

本课程以一个贯穿式实战项目为主线:在 AWS 上构建一套面向多团队的 EKS 平台。项目从账号与网络规划开始,逐步落地集群创建、节点供给、入口与 DNS、存储、密钥、镜像仓库、GitOps 发布、可观测、策略、成本与多环境隔离。工具链围绕这条主线组织,而不是零散罗列。

层次核心对象典型工具平台交付物
基础设施VPC、子网、IAM、ECRTerraform / AWS CDK可复用的账号与网络基线
集群EKS 控制面、节点组、Karpentereksctl / Terraform / Helm标准化集群与节点池
运行时CNI、CSI、Ingress、DNSAWS Load Balancer Controller、ExternalDNS、EBS CSI网络、入口、存储能力
交付Git 仓库、Helm、KustomizeArgo CD / Flux声明式发布流水线
治理RBAC、OPA、Kyverno、配额Gatekeeper、Kyverno、Kubecost策略、合规与成本边界
可观测指标、日志、追踪、告警Prometheus、Grafana、Fluent Bit、CloudWatch统一观测与 SLO 基线

一个常见的教学示例参数如下:集群名 platform-dev,区域 ap-southeast-1,VPC 网段 10.20.0.0/16,三个可用区各一个私有子网,节点组初始容量 3 × m6i.large,开启 cluster-autoscaler 或 Karpenter 作为弹性供给。平台团队为业务团队提供 team-a、team-b 两个命名空间,分别绑定资源配额与网络策略。业务团队只需提交 Helm Chart 或 Kustomize 目录,由 Argo CD 同步到对应命名空间。这个示例不追求生产级规模,但足以覆盖平台工程的关键接口。

平台工程的第一条判断标准:业务团队能否在不提工单、不接触底层 AWS 控制台的情况下,自助完成一次从代码到运行时的发布,并且平台侧能审计、能限流、能回滚。

从职责边界看,控制面侧的平台工作重点是“入口与规则”:IAM 角色映射、RBAC 授权、准入策略、审计日志、版本升级窗口。数据面侧的平台工作重点是“供给与观测”:节点池设计、Pod 密度、CNI 地址规划、存储类、日志采集、指标暴露。两侧通过 Kubernetes API 和控制器模式解耦,平台团队不需要修改业务代码,业务团队也不需要理解底层节点细节。

课程后续会围绕这条主线逐步展开:先建立账号、网络与集群基线,再接入节点弹性、入口、存储与密钥,随后引入 GitOps、策略、可观测和成本治理,最后完成多环境隔离与故障演练。每一章都会给出可执行的配置片段、参数示例和判断依据,帮助你把“平台工程”从概念落到可运行的系统上。