DevOps 与平台工程:中级
超越首次部署。自动化交付、管理多个环境、加入可观测性,并构建整个团队都能信赖的可重复工作流。
本学习路径适合谁
你已经能将应用部署到 Kubernetes,也用过 CI 工具。本路径适合希望让交付流程自动化、一致且易于他人使用的工程师。
你将学到
- 构建能在多个环境之间逐级推进变更的部署流水线
- 在多个集群中管理配置和密钥
- 使用分支环境和预览环境以更快获得反馈
- 添加监控、日志和告警,以便在出问题时第一时间知道
- 应用 GitOps 实践,使集群始终保持在你声明的状态
如何使用本路径
指南按技术分组。请选择你目前最大的瓶颈所在的领域(部署、配置或可见性)作为起点。大多数指南都基于一个正在运行的集群,所以学习期间请保持一个集群在线。
开始之前
- 已完成初级路径,或具备同等的动手经验
- 熟悉 Deployment 和 Service 等 Kubernetes 对象
- 一个可以用来试验的 Git 仓库
下一步
继续学习高级路径,攻克规模化、安全与平台设计。
What's in this path
Argo CD
4 guidesFlux CD
7 guides-
控制同步行为:间隔、Prune、漂移修正与回滚 决定 Flux 何时应用变更、删除什么、如何暂停它,以及如何撤销一次有问题的部署。 -
使用 Kustomize Overlay 按环境组织仓库结构 为 dev 和 production 组织一个仓库,并避开 ConfigMap 滚动发布的陷阱。 -
使用 HelmRelease 部署 Helm Chart 从 Helm 仓库和 OCI 镜像仓库安装并升级 Helm chart,并带有自动回滚。 -
使用 Flux 镜像自动化实现镜像更新自动化 让 Flux 检测新的容器镜像标签,并将其提交回 Git。 -
使用 SOPS 和 age 在 Git 中管理密钥 在提交之前加密 Kubernetes Secret,并让 Flux 在集群中解密它们。 -
使用 Flux 配置多集群 从一个仓库管理多个集群,包含共享基础设施和每个集群各自的差异。 -
使用 Flux 通知发送告警并接收 Webhook 获取协调事件的 Slack 告警,并通过 Git 推送触发即时同步。
Kubernetes
4 guidescontainerd
1 guidesGrafana
7 guides-
从 JSON 文件 Provision 仪表板 从磁盘加载仪表板,从目录映射文件夹,并在不丢失变更的前提下创作仪表板。 -
Provision 告警规则、联系点与通知策略 用 YAML 定义整条告警管线,使其像代码一样被审查和版本化。 -
在 Grafana 配置中管理密钥 使用环境变量、文件和加密清单,让密码和令牌远离 Git。 -
通过配置管理认证与访问 在 grafana.ini 中设置登录、OAuth 和角色映射,并以代码方式管理用户与团队。 -
使用 Helm 和 Provisioning Values 在 Kubernetes 上部署 Grafana 通过 Helm chart 运行 Grafana,数据源、仪表板和设置都来自 values 文件。 -
使用 Terraform 管理 Grafana 通过 HCL 创建文件夹、数据源、仪表板、告警、团队和 service account。 -
从命令行重新加载、验证并排查 Provisioning 问题 找出 Grafana 加载了什么,无需重启即可重新加载,并修复常见的 provisioning 错误。
Helm
1 guidesOpenTelemetry
7 guides-
使用声明式 YAML 文件配置 SDK 在 SDK 支持的地方,用一个带 OTEL_CONFIG_FILE 的 YAML 文件取代几十个环境变量。 -
让 Collector 达到生产就绪:内存限制、批处理与重试 配置 processor、队列和持久化存储,使遥测数据在过载和故障中存活。 -
Collector 部署模式:无 Collector、Agent 与 Gateway 选择一种拓扑,并配置从 agent 到 gateway 的交接,包括 Kubernetes 元数据。 -
使用 Helm 在 Kubernetes 上部署 Collector 安装官方 chart,使用 preset 处理日志和指标,并通过 values 文件覆盖配置。 -
使用 Receiver 收集日志与基础设施指标 使用 filelog、hostmetrics、kubeletstats 和 prometheus receiver,并从追踪中派生指标。 -
将遥测数据发送到后端并保护管线安全 为 Tempo、Loki 和 Prometheus 配置 OTLP exporter,外加 TLS、认证和 secret。 -
排查 Collector 与 SDK 的问题 当遥测数据没有到达时的系统化检查清单:debug exporter、健康检查、内部指标和常见错误。