面向初学者的 DevOps 与平台工程
从零开始。通过一篇篇动手实践的指南,了解现代团队如何借助容器、Kubernetes、CI/CD 和 GitOps 构建、交付并运行软件。
本学习路径适合谁
本路径适合开发者、系统管理员和转行人员:你听说过“容器”“Kubernetes”“流水线”这些词,却从未把它们串联起来。你不需要生产环境经验,但需要好奇心和一个终端。
你将学到
- 应用程序如何被打包,并在不同机器上一致地运行
- Kubernetes 的作用,以及如何部署你的第一个工作负载
- 一次变更如何从提交一路到达运行中的环境
- GitOps 的基础知识,以及团队为什么采用它
- 如何毫无顾虑地销毁并重建环境
如何使用本路径
右侧的指南按技术分组,并按初次学习的顺序排列。请一次专注于一项技术,不要在不同技术之间来回跳转。每篇指南都注重动手实践,因此请创建一个一次性集群并跟着操作,而不是只读不练。
开始之前
- 熟悉命令行操作(cd、ls、编辑文件)
- 注册一个免费的 Rackmint 账号,获取用于练习的一次性集群
- 对什么是 Web 应用有基本了解
下一步
当这些内容变得得心应手后,请继续学习中级路径,把各个部分连接成可重复、自动化的工作流。
What's in this path
Argo CD
5 guidesFlux CD
5 guides-
推送与拉取:Flux 如何向 Kubernetes 交付 为什么基于拉取、由 Git 驱动的交付会改变你部署、保障安全和恢复集群的方式。 -
安装 Flux 并 Bootstrap 集群 安装 Flux CLI,运行预检,并 bootstrap Flux,使其从 Git 管理自身。 -
使用 GitRepository 与 Kustomization 部署你的第一个应用 通过 Kustomization 资源将 Flux 指向 Git 中的清单,并观察同步。 -
使用 Flux CLI 管理 Flux 在终端中检查、查看、协调、对比、追踪、暂停并排查 Flux 资源。 -
Flux CD 与 Argo CD:如何选择 GitOps 工具 比较架构、UI、Helm、密钥、租户和镜像自动化,以选出合适的工具。
Kubernetes
6 guides-
Kubernetes 是什么,以及它解决的问题 为什么仅靠容器无法继续扩展,以及 Kubernetes 如何把一组机器变成一个平台。 -
Kubernetes 集群如何工作:控制平面与节点 让集群运转的各个组件,以及从 kubectl apply 到运行中的容器之间发生了什么。 -
搭建本地集群并开始使用 kubectl 用 minikube 运行单节点集群,用 kubectl 连接它,并学习你每天都会用到的命令。 -
编写你的第一个 Kubernetes 清单 YAML 要点、每个对象都有的四个字段,以及用 Pod 完成创建、检查、删除的循环。 -
Deployment:扩缩、自愈与滚动更新 运行一个 Pod 的多个副本,无停机地更新它们,并在发布出问题时回滚。 -
调试失败的 Pod:describe、logs、exec 与 port-forward 一份可重复的清单,用来找出 Pod 为什么是 Pending、崩溃或没有响应。
containerd
2 guidesGrafana
4 guidesHelm
4 guidesOpenTelemetry
5 guides-
OpenTelemetry 详解:SDK、OTLP 与 Collector 在编写任何 YAML 之前,先了解各个活动部件以及配置所在的三个位置。 -
使用 Docker Compose 运行 OpenTelemetry Collector 从挂载的配置文件启动 Collector,向它发送测试数据,并在 debug exporter 中查看。 -
Collector 配置模型:组件、管线与 Provider 了解 Collector YAML 的规则:命名、管线、connector、合并文件和环境变量。 -
使用 OTEL_* 环境变量配置 SDK 使用标准变量为任何语言设置服务名称、exporter、采样和限制。 -
无需修改代码即可为应用插桩:Java、Python 和 Node.js 仅通过环境变量和命令行参数附加 OpenTelemetry agent。
Prometheus
4 guides-
Prometheus 架构与拉取模型 为什么 Prometheus 是抓取而不是接收,以及目标、exporter 和服务发现如何结合在一起。 -
Prometheus 数据模型:指标、标签与指标类型 Prometheus 中时间序列究竟是什么,以及目标用来暴露它们的纯文本格式。 -
用 node_exporter 和 cAdvisor 监控主机及其容器 一起运行 Prometheus、node_exporter 和 cAdvisor,抓取两者,并确认目标健康。 -
在 Grafana 中可视化指标:数据源、面板与社区仪表板 将 Grafana 连接到 Prometheus,从头构建一个面板,然后导入现成的仪表板,而不是手工构建一切。