尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
重绘Kubernetes Operator的工作原理图
在以Kubernetes为事实标准的云原生环境中Kubernetes Operator是强有力的工具籍此Kubernetes集群得以充分扩展功能。为详述技术细节以加深理解特重绘与Kubernetes Operator核心技术相关的两张工作原理图。与常见的原理图相比在本文中呈现的两图更富技术细节技术过程的展现更为精确。基于此两图本文简述了Operator、Controller和Custom Resources自定义资源的协同工作机制。一、Kubernetes Operator的工作原理Kubernetes为集群管理提供了一个强大的API包括用于部署应用程序的Pod、Jobs和Deployments。然而在许多情况下标准API是不够的还需要额外的抽象级别及增强的功能。通过在Kubernetes中定义和管理应用程序和服务作为独立的自定义资源Kubernetes Operator模式解决了这一问题这也是有助于实现可重用性和降低整体复杂性的技术机制。Operator模式的实现是由特定于域的控制器实现的这些控制器监控Custom Resources自定义资源的生命周期。这种控制器不断地将当前状态与环境所期望之状态进行比对和同步以便对Kuberfnetes集群进行必要的更改。这一技术概念被称为Control Loop控制循环或Reconciliation Loop调谐循环为便于有效地叙述本文使用更为中文化的名称控制回路。Kubernetes项目对“Operator”的定义很简单“Operator 是使用自定义资源来管理应用程序及其组件的软件扩展software extensions”。换句话说使用 Operator 使我们能够将应用程序视为单个对象该对象仅公开对应用程序有意义的调整而不是一组原语primitives例如 Pod、Deployments、Services 或 ConfigMaps。此外对于运行在Kubernetes集群中的软件Operator允许自动执行典型的Day-1任务(安装、配置等)和Day-2任务(重新配置、升级、备份、故障转移、恢复等)并与Kubernetes概念和APIs进行原生集成。这些应用工具被称为“原生Kubernetes应用程序”而这一定义也可以从另一个更具操作性的角度去理解Kubernetes Operator 是用于在 Kubernetes 上打包、管理和部署应用程序的控制器。为了完成这些工作用户建立和更新自定义资源 (Custom Resources)形成自定义资源定义 (Custom Resource Definitions )的形式落实在Kubernetes Operator中并在环境中生效以此定义对特定应用程序的配置和状态configuration and state的期望。简言之Kubernetes Operator的作用是致力于将应用程序的实际状态与CRD所期望的状态进行协调使用控制回路对应用程序进行自动扩展、更新或重新启动。为此Kubernetes 提供了基本命令和原语primitivesOperator可用之以定义更复杂的操作。综上所述Operator是在集群中运行的实际程序通过Kubernetes API进行交互以此对超出Kubernetes自身掌控之原生功能范畴的复杂功能进行自动化。二、用Kubernetes Operators实现状态调整在机器人和自动化的应用中控制回路是指一个永不休止的循环用于调节系统状态。这一含义被映射到 Kubernetes 中每个控制器是一个控制回路通过 API 服务器监视集群的共享状态 并尝试进行更改以将当前状态转为期望状态。实际上Kubernetes在其核心API中就使用了这种控制回路模式Kubernetes控制器管理器Kube-controller-manager是一个守护进程内嵌Kubernetes的核心控制回路。与Kubernetes一样应用架构的实践者希望可以定义Custom Resources编写特定的控制器以理解声明性的自定义资源执行技术调整达成期望状态Kubernetes Operator正践行了这一理念。在Kubernetes中Control plane控制平面中的控制器运行在一个控制回路Control loop)中该回路持续不断地比对集群的期望状态和当前状态。如果状态不相匹配则控制器采取行动调整当前状态使其更接近于期望状态。类似地隶属于Kubernetes Operator的控制器监视Watches相关的Custom Resources自定义资源类型并采取特定于应用程序的操作使工作负载Workload的当前状态与用户在Custom Resources自定义资源中表达的期望状态相匹配。以上图表说明了Control plane如何在一个回路中运行各个控制器其中一些控制器天然内置于Kubernetes中如deployment controller和job controller而另一些则是属于Kubernetes Operator的一部分如Custom controller 1属于Memcached Operator而Custom controller 2则属于etcd Operator。Control plane的控制器针对无状态Stateless工作负载Workloads进行了优化一组控制器即可适用于所有的无状态工作负载因为它们都是相似的。隶属于某个Kubernetes Operator的控制器都是为特定的有状态Stateful工作负载而定制的。每个有状态的工作负载都有各自的Operator及其隶属控制器这些控制器知晓如何管理该工作负载。
RELATED

相关推荐

PJ85718DM+PIC18F4620工业温控设计:高精度传感与抗干扰实战

PJ85718DM+PIC18F4620工业温控设计:高精度传感与抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/22 1:11:30
PJ85718DM双通道温度传感器与PIC18F86K22的HVAC测温方案

PJ85718DM双通道温度传感器与PIC18F86K22的HVAC测温方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/22 1:11:30
文本分类毕设实战:CNN与RNN选型对比及避坑指南

文本分类毕设实战:CNN与RNN选型对比及避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/22 1:11:30
MORE NEWS

更多资讯

📰

QtXlsx在VS2019下的编译配置与Excel读写实战

上个月做内部设备管理工具,客户要求把运行报表导出成Excel。桌面端技术栈很早就定死了:Qt 5.15.2配VS2019,UI部分两天收工,结果Excel读写这块硬生生卡了我大半天。QtXlsx从源码编译、VS2019工程挂接、链接报错、调试闪退&#xff…

📰

六大开源Agent框架深度拆解:任务规划、工具调用与记忆管理选型指南

1. 为什么我要花两周时间逐个拆解这六个Agent代码库过去大半年,Agent这个词被反复提起,几乎每隔几天就能看到新的开源项目冒出来。但真正上手跑过一圈之后你会发现,能跑通Demo的和能扛住真实任务的,完全是两回事。我前后花了将近两…

📰

安全帽佩戴检测毕设全流程:从YOLO数据准备到部署答疑

现在想想,我接这个毕设题目的时候心里其实挺没底的。安全帽佩戴检测,听起来就是一个目标检测任务,把YOLO拉起来跑一遍数据就好了,但真等到自己从零把数据集、标注、训练、验证、部署整条链路走完,才发现这里面到处都是…

📰

NUMA架构下PHP-FPM性能优化:从原理到绑核实操全解析

1. 先搞懂NUMA:从一次线上性能抖动说起前几年我接手过一套跑在双路服务器上的PHP接口服务,应用逻辑本身并不复杂,就是典型的PHP-FPM加MySQL加Redis的组合。可每到高峰期,总会冒出一批延迟在800毫秒到1.2秒之间的慢请求&#xff0c…

📰

8位单片机实现模糊控制洗衣机的工程实践

简介:本资源是一套面向自动化控制与智能家电方向初学者及课程设计者的模糊控制洗衣机教学实践代码包,聚焦于模糊逻辑在洗涤参数自适应调节中的工程实现。压缩包共23个文件,含10个MATLAB脚本(.m)、6个FIS模糊推理系统文…

📰

SpringBoot+Vue前后端分离:小区物业管理系统源码实战解析

1. 项目核心价值与整体功能拆解先聊两句大实话。很多刚入行的朋友拿到“XX管理系统源码”这种项目,第一反应往往是先跑起来再说,跑起来之后又不知道下一步该干嘛,最后就把一堆代码扔在硬盘里吃灰。这套小区物业管理系统其实是一个很典型的前后…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬