路线图

DevOps 工程师成长路径

星辉 2026-06-20 阅读 4 min 663 字 路线图
DevOps 工程师成长路径 封面

路径一:DevOps 工程师#

目标受众:传统运维/系统管理员,向 DevOps / 平台工程方向转型。

核心目标:从"手工运维"转向"工程化运维"——能独立搭建 CI/CD 平台、设计云原生基础设施、用代码管理一切。


阶段一:工具链基础(1–3 个月)#

打好地基,否则后续所有高级话题都会卡壳。顺序建议:Linux → Docker → Shell → Git → 网络。


Linux 系统管理#

是什么:操作系统层面的核心能力——进程、文件系统、权限、网络、systemd 服务管理。

为什么学:所有服务跑在 Linux 上,容器底层也是 Linux。不懂 Linux,线上出问题你只能猜。

掌握标准

  • 能用 ps/top/htop/lsof 定位异常进程并分析其资源占用
  • 能理解和修改文件权限、/proc 文件系统、ulimit 参数
  • 能用 journalctl/systemctl 管理 systemd 服务,看懂 service 启动失败的日志
  • 能用 sar/vmstat/iostat 定位 CPU 飙高、内存泄漏、IO 等待的根因
  • 能写 /etc/sysctl.conf 调整内核参数并解释每个参数的含义

📖 深入阅读Linux 性能调优实战:CPU、内存、IO、网络


Docker 与容器化#

是什么:将应用和依赖打包为镜像,用容器运行时隔离进程的技术。

为什么学:现代应用交付的基础单元是容器。不会 Docker,你无法进入 K8s 时代。

掌握标准

  • 能写多阶段 Dockerfile,镜像体积控制在合理范围(Go 应用 < 50MB,Python 应用 < 200MB)
  • 能解释 Layer Cache 机制,并优化构建缓存命中率
  • 能用 Docker Compose 编排多服务本地开发环境,包括网络和 Volume 配置
  • 能用 docker inspect/stats/exec 排查运行中容器的问题
  • 理解 namespace 和 cgroup 是容器隔离的底层机制

📖 深入阅读Docker 最佳实践:从 Dockerfile 到生产部署


Shell 脚本自动化#

是什么:用 Bash 脚本将重复手工操作变成可复用的自动化任务。

为什么学:运维有大量重复操作(备份、巡检、部署检查),不自动化就是在低效内耗。

掌握标准

  • 能写带参数解析、错误处理(set -euo pipefail)、日志输出的生产级 Shell 脚本
  • 能用 cronsystemd timer 设置定时任务,理解两者的区别
  • 能用 awk/sed/grep/jq 处理文本和 JSON 数据
  • 能写带重试逻辑的轮询脚本(等待服务就绪、检查 HTTP 状态码等)
  • 脚本出错时不会无声退出,能正确捕获并上报异常

📖 深入阅读Shell 脚本自动化:运维任务工程化


Git 工作流#

是什么:版本控制系统,以及围绕它建立的团队协作规范。

为什么学:代码、配置、IaC 都应该在 Git 里。Git 用不好会导致协作混乱、变更无法追溯。

掌握标准

  • 能解释 GitFlow 和 Trunk-based Development 的适用场景和取舍
  • 能用 rebase -i 整理提交历史,用 cherry-pick 选择性合并
  • 能处理复杂 merge conflict,理解 3-way merge 的原理
  • 能设计 .gitignore,理解 submodule vs subtree 的区别
  • 能写 pre-commit hook 做代码格式和安全检查

📖 深入阅读Git 工作流实践:团队协作与分支管理


基础网络与 Nginx#

是什么:TCP/IP、DNS、HTTP 协议基础,以及 Nginx 作为流量入口的配置。

为什么学:90% 的线上故障都和网络有关。不懂网络,连 ping 不通和端口不通都分不清楚。

掌握标准

  • 能用 tcpdump/wireshark 抓包,读懂 TCP 三次握手和四次挥手
  • 能通过 ss/netstat 分析连接状态,定位 TIME_WAIT 堆积、端口占用问题
  • 能配置 Nginx 反向代理、负载均衡、SSL 终止,并调优 worker_processes/keepalive 参数
  • 能解释 HTTP/1.1 vs HTTP/2 的区别,理解 Connection: keep-alive 的作用
  • 能从 DNS 解析、TCP 连接、HTTP 响应三个层面排查连接超时问题

📖 深入阅读


阶段一完成检验#

场景题:线上 Java 服务突然响应变慢,P99 延迟从 100ms 升到 3s。没有代码变更,只是流量增加了 2 倍。请描述你的排查思路,并指出你会在哪些层面用哪些命令定位根因。

参考思路提示:CPU 使用率 → JVM GC → 数据库连接池 → 网络 I/O → 系统调用


阶段二:容器编排与 CI/CD(3–6 个月)#

进入容器编排和流水线核心地带。建议先把 K8s 基础吃透,再学 Helm,最后把 CI/CD 和 GitOps 联动起来。


Kubernetes 核心#

是什么:容器编排平台,负责调度、自愈、扩缩容、服务发现。

为什么学:K8s 是云原生基础设施的标准。不懂 K8s,你无法管理现代微服务应用。

掌握标准

  • 能描述一个 Pod 从 kubectl apply 到运行的完整生命周期(API Server → etcd → Scheduler → Kubelet)
  • 能设计合理的 resources.requests/limits,解释 QoS 分类(Guaranteed/Burstable/BestEffort)
  • 能配置 HPA,理解 targetAverageUtilization 的计算方式
  • 能排查 CrashLoopBackOff、Pending、ImagePullBackOff 等常见故障状态
  • 能设计 Liveness/Readiness/Startup 三种探针,避免探针误判导致的频繁重启
  • 能用 kubectl top/describe/logs/exec 全面诊断服务问题

📖 深入阅读Kubernetes 入门指南:核心概念与快速上手


Helm 工程化#

是什么:K8s 的包管理工具,用 Chart 模板化应用配置,支持多环境管理。

为什么学:手写 K8s YAML 不可维护。Helm 让配置模板化、版本化、可复用。

掌握标准

  • 能从零创建 Helm Chart,包括 values.yaml 分层设计(公共值 + 环境覆盖)
  • 能用 helm template/lint/diff 在部署前验证渲染结果
  • 能管理 Chart 依赖(Chart.yaml dependencies),理解子 Chart 值覆盖规则
  • 能用 Hooks(pre-install/post-upgrade)处理数据库迁移等有序操作
  • 能排查 Helm Release 状态异常(Pending-upgrade/Failed)并正确回滚

📖 深入阅读Helm 工程化实践:从 Chart 开发到多环境管理


CI/CD 流水线#

是什么:从代码提交到生产部署的自动化流水线,包括构建、测试、推送镜像、触发部署。

为什么学:手工部署是事故温床。CI/CD 让发布变得可预期、可回滚、有审计记录。

掌握标准

  • 能设计覆盖 lint → test → build → push → deploy 的完整流水线
  • 能实现蓝绿部署和金丝雀发布的流水线逻辑
  • 能实现制品版本管理:镜像 tag 策略(commit hash / semver)
  • 能配置流水线缓存(依赖缓存、Docker layer 缓存)降低构建时间
  • 能在流水线中集成安全扫描(镜像漏洞扫描、SAST)

📖 深入阅读CI/CD 流水线设计:从代码提交到生产部署


Prometheus + Grafana 监控#

是什么:指标采集(Prometheus)+ 可视化告警(Grafana)的监控组合。

为什么学:服务跑起来只是第一步,没有监控你不知道它跑得好不好。

掌握标准

  • 能写 PromQL 查询:rate、histogram_quantile、label_replace 等核心函数
  • 能设计 Recording Rules 优化高频查询性能
  • 能写告警规则,理解 for 持续时间和 severity 分级的设计考量
  • 能用 Grafana 构建包含 SLI 指标的 Dashboard,设置合理的变量和刷新间隔
  • 能配置 ServiceMonitor/PodMonitor(Prometheus Operator 模式)实现自动发现

📖 深入阅读Prometheus + Grafana:监控体系从零搭建


阶段二完成检验#

场景题:你负责将一个单体 Java 应用迁移到 K8s,要求:零停机部署、多环境配置管理(dev/staging/prod)、自动扩缩容、部署失败自动回滚。请设计整套方案,包括 Helm Chart 结构、流水线步骤、HPA 配置思路。


阶段三:平台工程与高级实践(6–12 个月)#

掌握大规模集群管理与平台工程能力。这一阶段的知识点联系紧密,建议按顺序推进:GitOps → Karpenter → Istio → IaC → 平台工程。


GitOps 与 ArgoCD#

是什么:以 Git 为唯一事实来源,通过 CD 工具将 Git 状态同步到集群。ArgoCD 是主流实现。

为什么学:GitOps 解决了"谁在什么时候部署了什么"的审计问题,也是多集群管理的基础。

掌握标准

  • 能用 ApplicationSet 实现多集群、多环境的统一部署管理
  • 能配置 Sync Policy(自动同步 vs 手动同步)和 Sync Waves 控制部署顺序
  • 能设计 GitOps 目录结构(base + overlays / 按集群/按环境组织)
  • 能排查 ArgoCD OutOfSync 状态,区分"资源变更"和"drift"
  • 能实现 Image Updater 自动更新镜像 tag,触发 GitOps 流程

📖 深入阅读GitOps 与 ArgoCD:声明式部署的完整实践


Karpenter 节点自动扩缩#

是什么:下一代 K8s 节点自动扩缩器,直接调用云 API 创建最优节点,比 Cluster Autoscaler 更快更灵活。

为什么学:节点成本是 K8s 集群最大的开销。Karpenter 合理配置可降低节点成本 40–60%。

掌握标准

  • 能设计 NodePool 和 EC2NodeClass,定义机型族、架构、Spot/On-demand 比例
  • 能配置 Disruption 策略(Drift、Consolidation、Expiration)并理解各自的副作用
  • 能用 karpenter.sh/capacity-type 标签控制工作负载的节点调度策略
  • 能排查 Karpenter 无法扩容的常见原因(Quota 不足、IAM 权限、SG 配置等)
  • 能估算 Consolidation 对服务稳定性的影响并设置合理的 PDB

📖 深入阅读


Istio 服务网格#

是什么:在 K8s 上运行的服务网格,通过 Sidecar 代理实现流量管理、mTLS、可观测性。

为什么学:微服务间的流量治理(金丝雀、熔断、重试)不应该写死在代码里,网格层统一处理。

掌握标准

  • 能配置 VirtualService 实现金丝雀发布(按权重/Header 路由)
  • 能启用 mTLS PeerAuthentication 并验证服务间通信加密
  • 能用 Kiali 分析服务拓扑,定位延迟异常的调用链
  • 能配置 DestinationRule 设置熔断(连接池限制、异常点检测)
  • 能排查 Envoy Sidecar 注入失败、证书轮换问题

📖 深入阅读Istio 服务网格实战:流量管理与可观测性


IaC(OpenTofu / Terraform)#

是什么:用代码声明基础设施资源(VPC、RDS、EKS 等),状态文件追踪实际资源。

为什么学:手工点云控制台不可复现、不可审计、容易出错。IaC 让基础设施像代码一样被版本化管理。

掌握标准

  • 能用模块化设计拆分大型 Terraform 工程(network/compute/database 分离)
  • 能配置 remote backend(S3 + DynamoDB 锁)并解释 state locking 的意义
  • 能用 plan/apply/destroy 的完整工作流,在 CI 中集成 Terraform Lint 和 Plan Review
  • 能处理 state drift(手工资源被 Terraform 管理)和 import 已有资源
  • 能设计 Workspace 或目录结构区分多环境(dev/staging/prod)

📖 深入阅读OpenTofu/Terraform 实践:基础设施即代码


安全供应链与合规#

是什么:容器镜像漏洞扫描(Trivy)、镜像签名(Cosign)、K8s 准入控制策略(OPA/Kyverno)。

为什么学:安全是平台工程不可忽视的维度。合规要求越来越严,提前建立体系远比事后补救代价低。

掌握标准

  • 能在 CI 流水线中集成 Trivy 扫描,设置阻断策略(Critical 漏洞不允许部署)
  • 能用 Cosign 对镜像签名并在 Kyverno 策略中验证签名
  • 能写 Kyverno ClusterPolicy 强制要求 resources.limits、非 root 运行、禁止特权容器
  • 能用 Vault + External Secrets Operator 管理 K8s Secret,替代明文存储

📖 深入阅读


平台工程#

是什么:构建内部开发者平台(IDP),为应用团队提供标准化的"黄金路径"(脚手架、部署、监控、日志一键就绪)。

为什么学:平台工程是 DevOps 的下一阶段演进。好的 IDP 能让 10 个运维工程师支撑 200 个开发者。

掌握标准

  • 能描述 CNCF 平台工程参考架构,解释 Portal/Pipeline/Infrastructure 三层分工
  • 能用 Backstage 或类似工具搭建开发者自助服务入口
  • 能定义"黄金路径"模板,让新服务一键接入监控、日志、CI/CD
  • 能用 DORA 指标(部署频率、变更前置时间、故障恢复时间、变更失败率)衡量平台效果

📖 深入阅读平台工程实践:构建内部开发者平台


阶段三完成检验#

场景题:公司有 3 个 AWS 区域,每个区域 2 个 EKS 集群(staging/prod),共 6 个集群。30 个微服务团队各自管理部署。现在需要统一治理:部署规范执行、成本可视化、多集群发布协调、Secret 安全管理。请设计整体方案,说明每个工具的职责划分。

预计总时间:9–15 个月(视基础和投入时间而定)