一句话定义:Kubernetes Operator 模式是一种把"某个软件的运维经验"写成代码、交给 Kubernetes 长期自动执行的扩展方式——它由自定义资源定义(Custom Resource Definition,CRD)和控制器(Controller)两部分组成,合起来就是一个 Operator。
原理:给 K8s 加一个新名词,再配一个实现它的机器人
Kubernetes 本身只懂通用的东西:跑容器、保副本数、做负载均衡。它内置的 Deployment、StatefulSet 能保证"有 3 个 Pod 在跑",却完全不知道"这个数据库什么时候该切主""这个推理服务的显存快满了要不要换卡"。
Operator 做了两件事。第一,用 CRD 给 Kubernetes 的 API "加词":你可以定义一种新资源,比如 Ray 生态里的 RayCluster,然后声明式地写"我要一个 8 卡、带两个 worker 组的 Ray 集群"。第二,写一个控制器常驻在集群里,不断对比"期望状态"和"实际状态",不一致就动手修正——这个循环叫调谐循环(Reconciliation Loop)。
打个比方:Kubernetes 是个勤快的管家,你给他一张清单他就照做,但清单上只能写"烧水""拖地"。想养一缸热带鱼,你需要的不只是管家,而是一位懂鱼的师傅。Operator 就是把这位师傅的经验写成一本操作手册(CRD 定义了"一缸鱼"长什么样),再配一个照着手册 7×24 小时巡检的机器人(控制器):水温低了开加热棒,鱼病了隔离,缸裂了换缸。
和相邻概念的区别
| 概念 | 管什么 | 装完之后 |
|---|---|---|
| Deployment / StatefulSet | 通用的容器编排 | Kubernetes 持续保副本数 |
| Helm | 打包和安装一堆 YAML | 装完就走,不负责日常运维 |
| Operator | 某个软件的领域知识 | 长期驻留,持续调谐、自愈、扩缩容 |
要注意 Operator 不是 Helm 的替代品,很多 Operator 本身就是用 Helm 或一堆 YAML 装上去的。
对 AI 从业者的意义
大模型推理部署是 Operator 最典型的用武之地。Ray 在 Kubernetes 上通常通过 KubeRay Operator 部署,vLLM 这类推理引擎常跑在被 Operator 管理的 Ray 集群里,或由各家的推理 Operator 托管;GPU 编排、模型加载、滚动升级、扩缩容这些"脏活",都被编码进了控制器。对工程师来说,这意味着你从"人肉运维"变成"把期望状态写清楚";对普通职场人来说,它是一堂通用的管理课:把重复的、需要判断的流程写成规则,让系统自己跑。
具体支持的能力、CRD 字段与版本,以各项目的官方文档为准。
