深入解析 Kubernetes CRD:原理、特点与典型应用场景
一、CRD 的本质与原理
1.1 什么是 CRD?
CRD(Custom Resource Definition) 是 Kubernetes 提供的核心扩展机制,允许用户自定义 API 资源类型。通过 CRD,开发者可以将业务逻辑抽象为 Kubernetes 原生资源模型,实现与内置资源(如 Pod、Deployment)相同的声明式管理体验。
其核心流程包含两个关键组件:
- 资源定义:通过 YAML 描述资源结构(类似数据库表结构)
- 控制器(Controller):监听资源变化并执行业务逻辑(类似数据库触发器)
# 示例:定义一个 CronTab 资源
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata