几句话明白什么是Kubernetes Operator?

一、Operator的意思

Operator翻译过来叫操作员, 这是一个基于人的概念,

那么基于机器的概念就是软件的操作员。

二、为什么有这个软件的操作员的概念?

1、先思考一个问题,什么时候需要操作员?

1、当Kubernetes自动化无法完成的工作是不是就需要人工的干预,这类人称之为操作员。

2、比如一个3副本的Mysql Cluster,一个副本挂了,Kubernetes知道不知道Mysql集群内部的状态是否正常?数据是否同步成功?答案肯定是不知道的,这个时候就需要人工干预,这个人就是操作员,也就是Operator。

3、那么Kubernetes设计之初就说我们是一个自动化、减少人工干预的、自动修复平台,是不是优点问题。

4、这个时候就设计出了一个概念叫Operator,意思就是软件的操作员。

三、什么应用需要Operator?

1、有状态应用,比如数据库、复杂的集群系统(ELK),本身有选举、同步等机制的应用程序。

四、Operator怎么实现的?

1、要实现软件Operator层面,Kubernetes本身的api是不能够完成这类任务的,因为Kubernetes不可能存储所有应用的控制生命周期的知识。

2、CRD就出现的,自定义资源。

3、这些被单独定义的CRD就是Operator的具体控制生命周期的"知识"。

4、那么也可以说存在Operator必然是有状态应用且必须有扩展的CRD资源存在。

五、谁来负责开发Operator?

1、一般是应用程序的厂商或者具备这类专业知识的人员开发。

相关推荐
小猿姐13 小时前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
阿里云云原生1 天前
AgentTeams 和 Claude Tag 都进入群聊模式,是新范式还是新叙事?
云原生·agent
阿里云云原生2 天前
Higress v2.2.3 发布:正式入驻 CNCF Sandbox,AI Gateway 与 Ingress 迁移能力双向加固
云原生
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
阿里云云原生3 天前
香港站【企业 AI Agent 工程化实战专场】来啦,邀您7月9日见!
云原生·agent
阿里云云原生3 天前
研发域与运维域的“数字握手”:通过 Agentic Skills 实现 DevOps 全链路自动化
云原生
运维开发故事5 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson7 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js