平台工程师技能指南
CNCF 2024年度调查显示,96%的组织正在使用或评估Kubernetes [1],但仅34%表示拥有足够的平台工程人才来有效运维。技能缺口不在于表层的工具知识——而在于将容器编排、基础设施自动化、可观测性架构和开发者体验设计整合为一体化内部平台的综合能力。本指南详列了区分能构建生产级内部开发者平台(IDP)的平台工程师和仅会配置YAML文件者的具体硬技能和软技能。
核心要点
- 硬技能聚焦四大领域:容器编排、基础设施即代码(IaC)、可观测性和开发者平台工具
- Kubernetes(CKA级别深度)和Terraform是两项最普遍要求的技术技能
- 产品思维、跨团队沟通和文档能力等软技能在高级别岗位中与技术深度同等重要
- CKA、CKS和云架构师认证带来可量化的职业加速
- 技能发展应遵循路径:运维 → 自动化 → 架构设计 → 产品化
硬技能
1. Kubernetes管理与架构
Kubernetes是现代平台工程的基石。生产级知识意味着理解控制面(kube-apiserver、etcd、scheduler、controller-manager)、工作节点组件(kubelet、kube-proxy、容器运行时)和网络模型(CNI插件如Calico、Cilium、Flannel)。平台工程师必须配置RBAC策略、资源配额、LimitRange、网络策略和Pod安全标准。高级技能包括使用Operator SDK编写自定义Operator、定义自定义资源(CRD)、配置准入Webhook,以及使用Loft vCluster或Admiralty管理多集群联邦。
2. 基础设施即代码(Terraform、Pulumi、Crossplane)
IaC是不可或缺的能力。Terraform以65%的市场份额占据主导地位(据HashiCorp 2024云战略报告)[2]。平台工程师需编写生产级模块,具备完善的状态管理(远程后端、状态锁定)、多环境部署的工作空间策略和模块组合模式。高级从业者使用Crossplane实现Kubernetes原生基础设施供应,或使用Pulumi进行通用编程语言IaC。理解Terraform Provider模型、漂移检测、导入工作流和CI/CD集成(Atlantis、Spacelift、Terraform Cloud)是中级与高级从业者的分水岭。
3. CI/CD流水线架构
平台工程师设计部署流水线,而非仅编写单个任务。这意味着ArgoCD用于基于GitOps的Kubernetes部署,GitHub Actions或GitLab CI用于构建自动化,以及支持自助式部署配置的流水线即代码模式。高级能力包括实施渐进式交付(金丝雀、蓝绿、A/B部署)、将安全扫描集成到流水线(SAST、DAST、容器扫描)、管理制品仓库(Harbor、ECR、GCR),以及设计跨开发、预发布和生产环境的多阶段晋级工作流。
4. 可观测性与监控
将可观测性内建于平台——而非在事故后补救——是平台工程的核心职能。技能包括实施三大支柱:指标(Prometheus,配合Thanos长期存储)、日志(Loki、ELK Stack、Fluentd/Fluent Bit)和链路追踪(Jaeger、Tempo、OpenTelemetry)。平台工程师设计基于SLO的告警,用错误预算驱动的通知取代嘈杂的阈值告警。高级技能包括OpenTelemetry自动埋点、自定义指标导出器、面向开发者自助的Grafana仪表板设计,以及RED(速率、错误、延迟)和USE(利用率、饱和度、错误)方法论的实施。
5. 云平台专长(AWS、GCP、Azure)
至少深度掌握一家主要云服务商的技术栈,并对第二家有实操了解。AWS方面:EKS、IAM、VPC网络、S3、Lambda、CloudWatch、Secrets Manager和成本管理工具。GCP方面:GKE、Cloud IAM、VPC、Cloud Run、Cloud Monitoring和Workload Identity。平台工程师必须理解云网络(VPN、Direct Connect/Interconnect、中转网关)、身份联邦和云原生安全服务。使用Crossplane或跨云Terraform模块实现多云抽象的能力日益受重视。
6. 服务网格与网络
服务网格技术(Istio、Linkerd、Cilium Service Mesh)在网络层提供mTLS、流量管理和可观测性。平台工程师配置入口控制器(NGINX、Traefik、Envoy Gateway),为金丝雀部署实施流量拆分,管理证书轮换,并设计服务间认证策略。理解基于eBPF的网络(Cilium)日益重要,因为它正在取代kube-proxy并在无Sidecar开销的情况下提供网络策略执行。
7. 安全与合规自动化
平台安全涵盖供应链安全(SLSA框架、Sigstore制品签名、Syft生成SBOM)、运行时安全(Falco、seccomp配置、AppArmor)和策略即代码(OPA/Gatekeeper、Kyverno)。平台工程师实施密钥管理(HashiCorp Vault、External Secrets Operator)、容器镜像扫描(Trivy、Grype),以及SOC 2、HIPAA和PCI-DSS合规自动化。在高级层级,理解零信任网络原则并通过服务网格和网络策略实施至关重要。
8. 开发者平台工具
构建内部开发者平台需要熟悉开发者门户框架(Spotify的Backstage、Port、Cortex、OpsLevel)、服务目录设计、黄金路径模板创建和API优先架构。技能包括设计自助工作流(Backstage脚手架、用于资源供应的自定义Kubernetes Operator)、构建内部文档系统,以及将平台组件集成为统一的开发者体验。
9. GitOps与配置管理
GitOps原则——声明式基础设施、版本控制的期望状态、自动化调谐——是平台工程的根基。需深度掌握ArgoCD(ApplicationSets、App of Apps模式、多集群管理)或Flux(Kustomization控制器、Helm控制器、镜像自动化)。理解基础设施的Git分支策略(主干开发 vs. 环境分支)、Kustomize Overlay模式和Helm Chart开发,构成完整的技能闭环。
10. 脚本与自动化
平台工程师编写大量自动化代码,主要使用Python、Go和Bash。Go是Kubernetes生态系统的语言——编写自定义控制器、Operator和CLI工具需要Go能力。Python处理自动化脚本、数据处理和工具集成。Bash用于运维自动化和流水线步骤。理解API设计(REST、gRPC)以构建平台服务,以及为内部工具消费者开发SDK,日益成为期望技能。
软技能
1. 产品思维
平台工程本质上是内部产品开发。定义平台路线图、开展开发者调查、分析采用率指标、根据开发者影响(而非技术兴趣)确定功能优先级,以及做出自建与外购决策的能力,区分了高级平台工程师和基础设施运维人员。这意味着撰写产品简报、与内部开发者进行用户访谈,以及追踪平台KPI(DORA指标、开发者满意度评分、自助服务采用率)。
2. 技术沟通与文档
平台工程师为其他工程师而建。清晰的文档——架构决策记录(ADR)、运维手册、API文档、入门指南和黄金路径教程——是平台价值的直接乘数。撰写能获得组织支持的RFC、向工程领导汇报技术战略,以及创建内部培训材料的能力,在中级及以上岗位中不可或缺。
3. 跨职能协作
平台服务于多个团队,各有竞争性的优先级。平台工程师与产品团队协商需求,与安全团队对齐合规要求,与SRE协调可靠性标准,并向财务部门说明基础设施成本。这需要利益相关方管理、冲突化解,以及对会破坏平台完整性的请求说不的能力。
4. 系统思维
理解平台某一组件的变更如何影响整个系统至关重要。包括建模依赖关系、预测故障级联、设计优雅降级,以及维护复杂分布式架构的心智模型。系统思维者识别根因,而非仅处理表象。
5. 事件管理与沟通
平台工程师在生产事故中经常担任技术负责人。技能包括结构化的事件指挥(遵循PagerDuty事件响应方法论等框架)、高压下的清晰沟通、无责事后复盘的主持,以及以行动项为导向的事后分析报告撰写。
6. 指导与知识传播
高级平台工程师通过教授他人放大自身影响力。包括与初级工程师结对编程、主持架构评审、在内部技术分享会上演讲,以及创建自主学习材料。企业越来越看重高级候选人提升团队能力的能力,而非仅考量个人产出。
认证
| 认证 | 提供方 | 侧重方向 | 难度 | 影响力 |
|---|---|---|---|---|
| CKA(认证Kubernetes管理员) | CNCF / Linux基金会 | 集群管理、故障排除 | 中高 | 高——最受认可的认证 |
| CKS(认证Kubernetes安全专家) | CNCF / Linux基金会 | 供应链、运行时、网络安全 | 高 | 高——安全方向差异化 |
| CKAD(认证Kubernetes应用开发者) | CNCF / Linux基金会 | 应用部署、配置 | 中 | 中——面向开发侧平台岗位 |
| HashiCorp Terraform Associate | HashiCorp | IaC基础 | 低中 | 中——良好的基础认证 |
| AWS解决方案架构师专业级 | AWS | 云架构 | 高 | 高——验证设计能力 |
| GCP专业云架构师 | Google Cloud | 云架构 | 高 | 高——GCP方向岗位 |
| FinOps认证从业者 | FinOps基金会 | 云成本管理 | 中 | 上升中——FinOps专项 |
认证投资回报: CKA提供最高回报。Lightcast数据显示CKA持有者在平台工程岗位中薪资报价高出8% [3]。AWS SA专业级和GCP PCA也有类似溢价。CKA + 一个云架构师认证是最高效的认证组合策略。
技能发展路径
阶段一:基础(0-1年)
- 准备并通过CKA考试
- 搭建个人Kubernetes集群(k3s、minikube或kind)
- 为AWS或GCP基础设施编写Terraform模块
- 使用GitHub Actions实现部署到Kubernetes的CI/CD流水线
- 学习Linux网络基础(iptables、DNS、TCP/IP)
阶段二:生产技能(1-3年)
- 大规模管理生产Kubernetes集群
- 跨多服务实施ArgoCD GitOps
- 构建可观测性技术栈(Prometheus、Grafana、OpenTelemetry)
- 设计并文档化Terraform模块库
- 取得CKS或云架构师认证
阶段三:架构(3-5年)
- 设计多集群或多区域Kubernetes架构
- 构建开发者自助工具(Backstage或自定义门户)
- 在生产环境实施服务网格(Istio或Linkerd)
- 主导平台安全项目(供应链、运行时、策略)
- 撰写架构决策记录和平台战略文档
阶段四:领导力(5年以上)
- 为组织定义平台路线图和KPI
- 开展开发者体验研究并衡量平台采用率
- 对平台组件做出自建与外购决策
- 指导高级工程师并主持架构评审
- 在会议上演讲(KubeCon、HashiConf、内部技术峰会)
识别与弥补技能差距
自评方法: 将当前技能与目标公司的招聘需求对标。找出招聘中出现频率最高的3项您尚未掌握的技能。优先弥补这些差距,再追求小众专精。
按技能类型的弥补策略:
- 容器编排差距: 在本地部署一个类生产集群,刻意制造故障并练习排障。CKA考试备考能强制养成这种纪律。
- IaC差距: 为Terraform模块注册中心贡献代码,或将现有基础设施用代码重建。将手动操作转为Terraform的过程能形成肌肉记忆。
- 可观测性差距: 为个人项目接入OpenTelemetry,构建Grafana仪表板,模拟故障场景以验证告警有效性。
- 产品思维差距: 跟随产品经理旁观一个迭代周期。阅读Marty Cagan的《Inspired》。练习撰写包含问题陈述、方案建议和成功指标的内部平台RFC。
- 沟通差距: 撰写关于基础设施决策的技术博文,在内部技术分享会上演讲,练习向非技术人员解释复杂系统。
核心要点
平台工程需要T型技能结构:在Kubernetes和IaC方面有深厚专长(纵轴),同时在可观测性、安全、CI/CD、云平台和开发者体验方面有广度(横轴)。在初级和中级阶段,纵轴的技术深度最为关键。在高级和Staff级别,横轴——尤其是产品思维、沟通能力和组织影响力——决定职业发展轨迹。刻意投资两个维度,用认证(先CKA,再云架构师)验证进步。
常见问题
平台工程师应学习哪些编程语言?
Go和Python最有价值。Go是Kubernetes生态系统的语言——所有CNCF工具(Kubernetes、Prometheus、ArgoCD、Terraform Provider)都用Go编写。编写自定义Kubernetes Operator、CLI工具和平台服务需要Go能力。Python适合自动化脚本、数据处理和快速原型开发。Bash在运维脚本和CI/CD流水线步骤中不可或缺。如果您在构建基于Backstage的开发者门户(使用React/TypeScript),TypeScript也很有用。
如何确定技能学习的优先级?
按以下顺序:(1)Kubernetes基础(CKA级别),(2)Terraform/IaC,(3)至少一个GitOps工具的CI/CD,(4)可观测性基础(Prometheus/Grafana),(5)云服务商深度,(6)服务网格与网络,(7)安全与合规,(8)开发者平台工具。这一进阶路径与平台工程工作的典型组织方式相匹配——在理解底层基础设施之前,无法构建自助门户。
云平台特定技能和云无关技能哪个更有价值?
两者都重要。深度掌握一个云服务商(AWS或GCP)对生产运维至关重要。云无关技能(Terraform、Kubernetes、Crossplane)提供可移植性,在多云策略的企业中日益受到重视。务实的做法:深度掌握一个云(AWS拥有最大的就业市场),同时将Kubernetes和Terraform学到足以跨云工作的水平。这一组合覆盖90%以上的平台工程岗位需求。
编程能力和系统知识对平台工程师哪个更重要?
两者都是基本功,但随资历变化而侧重不同。在初级阶段,系统知识(Linux、网络、Kubernetes内部机制)更重要——需要排查生产问题。在高级阶段,编程能力变得同等重要,因为您需要构建平台工具、Operator和服务。一个不能用Go写Kubernetes Operator或Terraform Provider的平台工程师,只能组装现有工具而无法构建自定义平台方案。
引用来源: [1] CNCF, "2024 Annual Survey," cncf.io/reports/cncf-annual-survey-2024, 2024. [2] HashiCorp, "2024 State of Cloud Strategy Survey," hashicorp.com, 2024. [3] Lightcast, "IT Certification Impact on Hiring Outcomes," lightcast.io, 2025.