Skip to content

Kubernetes 进阶扩展导览

Kubernetes 的扩展能力不是一组必须安装的组件,而是几种不同的控制边界:扩展 API、持续调谐领域资源、改变入口或节点数据面、用 Git 管理期望状态,以及把底层能力组合成平台 API。选择扩展点之前,应先确认内置资源和更简单的模板工具是否已经足够。

扩展地图

需要解决的问题合适的机制主要风险
在 API、调度、节点或设备层扩展扩展点与接口边界同步阻断、节点故障域和版本兼容
定义结构化平台资源CRDAPI 契约、版本转换、存储和权限
持续管理外部或有状态生命周期Operator重复副作用、最终状态、删除和并发
建立入口、网络与服务治理流量工程实现兼容、连接迁移、证书和排障层级
让 Git 成为期望来源并验证制品GitOps、策略与供应链凭据、漂移、准入阻断和恢复来源
给开发者提供稳定自助能力平台工程抽象泄漏、租户边界和支持责任

CRD、模板和 Operator 的边界

方案适合场景不负责什么
Helm/Kustomize渲染和组合一组相对固定的 Kubernetes 对象不持续观察外部系统并修复状态
CRD给平台意图提供结构化 API、校验、版本和 StatusCRD 本身没有业务控制逻辑
Operator处理长期生命周期、外部副作用、升级、备份和恢复不能掩盖没有定义清楚的领域状态机
Aggregated API需要自定义存储、协议或更灵活 API 行为运维成本高于普通 CRD

如果问题只是复用 YAML,先用模板;如果需要一个稳定声明式接口,考虑 CRD;只有需要持续调谐和领域自动化时,才引入 Operator。

云原生扩展生态 保留横向选型总览;涉及具体数据路径、Conditions、故障证据和迁移步骤时,进入上表对应的机制页。

生产准入条件

任何进入 API 同步路径、节点数据面或外部资源生命周期的扩展,都应在上线前回答:

  1. 哪个用户问题必须由它解决,成功指标是什么。
  2. 它位于同步还是异步路径,故障会阻断哪些操作。
  3. CRD、Webhook、控制器和数据面如何升级,支持哪些版本。
  4. 状态、Events、指标和日志能否定位到明确控制环。
  5. 组件不可用、动作超时、状态回写冲突时是否可恢复。
  6. 谁负责值班、容量、证书、备份和依赖停止维护后的迁移。
  7. 如何双跑、停止切换并回到旧路径。

进阶视频 EP12–EP24 对应这些主题,完整链接见 Kubernetes 进阶视频系列

别急,先让缓存热一下。