1. 课程导论:平台工程与自助目录概念、Argo CD 与 Collector 在平台中的角色、课程目标与受众

1.1 平台工程:从“围墙花园”到“自助高速公路”

平台工程(Platform Engineering)是 DevOps 理念的下一阶段演进。其核心目标是通过构建一个内部开发者平台(IDP),为开发团队提供一条“铺好的路”(Paved Road),从而屏蔽底层基础设施的复杂性,让开发者能够以自助服务的方式快速、安全地交付软件。

传统运维模式下,开发与运维之间存在明显的“投墙”现象:开发完成代码后,通过工单系统等待运维部署,周期长、沟通成本高。平台工程通过提供标准化的 API、工具和界面,将运维能力抽象为“自助目录”,让开发者能够自主完成从代码提交到生产部署的全流程。

关键转变: 从“流程驱动”转向“平台驱动”,从“审批文化”转向“自助文化”。

1.2 自助目录:平台能力的“超市货架”

自助目录(Self-Service Catalog)是平台工程落地的核心界面。它类似于一个“超市货架”,将平台的各种能力(如创建集群、部署应用、配置监控、申请存储等)封装成标准化的“商品”,开发者只需通过一个门户或 CLI 工具即可按需选择、一键部署。

一个成熟的自助目录通常包含以下要素:

要素 说明 示例
服务蓝图 定义服务的架构、组件、依赖和配置参数 “标准微服务”蓝图包含 Deployment、Service、Ingress、HPA
参数表单 允许用户输入自定义配置(如副本数、环境变量) 下拉选择“环境:dev/staging/prod”
自动化引擎 根据蓝图和参数,自动执行基础设施即代码(IaC) Argo CD 同步 GitOps 仓库
状态追踪 实时显示部署进度、健康状态和事件日志 Collector 采集指标并展示在仪表盘

1.3 Argo CD 与 Collector:平台的双引擎

在本课程中,我们将聚焦于构建自助目录的两个核心组件:Argo CD 和 Collector。它们分别扮演着“执行引擎”和“观测引擎”的角色。

  • Argo CD(执行引擎): 作为 GitOps 的黄金标准工具,Argo CD 负责将 Git 仓库中的声明式配置自动同步到目标 Kubernetes 集群。它是自助目录中“部署”和“更新”动作的最终执行者,确保环境的一致性和可审计性。
  • Collector(观测引擎): 泛指用于采集平台运行时数据(如 Metrics、Logs、Traces)的代理或服务(例如 OpenTelemetry Collector)。它负责将部署后的应用状态、资源使用情况、错误信息等反馈给平台,为自助目录提供“闭环”能力——用户不仅能看到“部署成功”,还能看到“运行是否健康”。
核心关系: Argo CD 保证“部署正确”,Collector 保证“运行可见”。两者结合,才能构建一个真正可观测、可信任的自助平台。

1.4 平台工程自助目录架构概览

下图展示了本课程将要构建的核心架构。开发者通过自助目录门户提交请求,平台编排层将请求转化为 Git 仓库的变更,Argo CD 检测到变更后自动同步到集群,同时 Collector 从集群中采集数据并反馈给目录门户,形成完整的闭环。

平台工程自助目录架构概览 平台工程自助目录核心架构 开发者 / 用户 自助目录门户 Git 仓库 (IaC) Argo CD Kubernetes 集群 Collector 提交请求 生成 PR / 推送 监听变更 同步部署 采集数据 反馈状态 说明: Argo CD 保证“部署正确”,Collector 保证“运行可见”。两者结合形成闭环。 开发者只需关注自助目录,无需关心底层实现细节。

1.5 课程目标与受众

本课程旨在帮助学员掌握如何将 Argo CD 与 Collector 集成,构建一个企业级的平台工程自助目录。课程内容涵盖从概念设计到代码实现的全过程。

课程目标

  • 理解平台工程与自助目录的核心价值与设计原则。
  • 掌握 Argo CD 的高级配置与多环境管理策略。
  • 学会部署和配置 Collector(以 OpenTelemetry Collector 为例)以采集平台与应用的可观测性数据。
  • 能够设计并实现一个基于 GitOps 的自助目录服务蓝图。
  • 具备将 Argo CD 事件与 Collector 数据关联,实现自动化反馈与告警的能力。

目标受众

角色 期望收获
平台工程师 学习构建内部开发者平台(IDP)的核心技术栈与最佳实践
DevOps / SRE 工程师 掌握 GitOps 与可观测性集成的进阶技巧,提升运维效率
高级后端 / 全栈开发者 理解平台抽象层的工作原理,更好地利用自助服务能力
技术管理者 了解平台工程落地的技术路径与团队协作模式
前置要求: 学员需具备基本的 Kubernetes 操作经验(kubectl、Pod、Deployment、Service),了解 Git 基本操作,并对 CI/CD 概念有初步认识。本课程将提供必要的 YAML 和代码示例,但不会从头教授 Kubernetes 基础。