Kubernetes控制器和Kubernetes运算符之间的区别是什么?
据我所知,Kubernetes控制器的目的是确保当前状态等于所需状态。然而,Kubernetes算子也做同样的工作 控制平面中的控制器列表:Kubernetes控制器和Kubernetes运算符之间的区别是什么?,kubernetes,Kubernetes,据我所知,Kubernetes控制器的目的是确保当前状态等于所需状态。然而,Kubernetes算子也做同样的工作 控制平面中的控制器列表: 部署 复制集 状态集 守护程序 等 通过谷歌搜索,我发现有K8s运营商,比如 etcd操作员 普罗米修斯操作员 香港运营商 然而,我无法理解为什么不能使用控制器来完成 操作员是否补充控制器 这两种设计的目的和功能有什么不同 在控制器和操作员之间选择时,需要记住哪些事项 我相信术语“kubernetes算子”是由 操作员是一个特定于应用程序的控制器,
- 部署
- 复制集
- 状态集
- 守护程序
- 等
- etcd操作员
- 普罗米修斯操作员
- 香港运营商
我发现这也试图解释这种差异。在Kubernetes中,大多数操作以异步方式发生 例如,当创建一个ReplicaSet对象(拾取一个更简单的对象)时,发生的顺序如下:
- 确保用户具有在给定命名空间中创建RS的RBAC凭据
- 该请求由所有配置的准入控制器验证
现在,说到操作符,从概念上讲,它们与Kubernetes控制器非常相似。但它们与第三方实体一起使用。在Kubernetes中,有一个CRD的概念,供应商可以在其中定义自己的CRD,而CRD只不过是自定义(例如特定于供应商的)Kubernetes对象类型。与Kubernetes控制器读取Kubernetes对象的CRUD的方式非常相似,这些操作符响应相应CRD上的操作。例如,当在Kubernetes集群中创建新的API CRD对象时,Kong操作员可以在Kong API服务器中创建新的API条目。谢谢您的回答。因此控制器是通用的,而操作员是专用的。如果我错了,请纠正我。为什么为特定目的实施控制器不是一个好主意?我不明白这里“通用”和“特定目的”是什么意思。操作员是控制器。只是当控制器添加新的k8s对象来存储prometheus或memcached等组件的配置时,它们使用了操作符这个术语。控制器通常只是监视和响应本机k8s对象。如果您认为它回答了问题,请接受答案!我诚恳地道歉,我正试图找出一种写作方式来把我的问题放在这个场景中。我仍然不相信在k8s集群中有两种不同的方法来完成同一组任务。很快我会更新你。更新的答案有更多的人对这个问题的看法。非常整洁和优雅的答案。不过,如果你能在第二段中多加一点,请。可能是一个例子。