gpt4 book ai didi

kubernetes - Kubernetes Controller 和 Kubernetes Operator 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 06:26:29 55 4
gpt4 key购买 nike

据我了解,Kubernetes Controller 的目的是确保当前状态等于所需状态。尽管如此,Kubernetes Operator 执行相同的工作。

控制平面中的 Controller 列表:

  • 部署
  • 副本集
  • 有状态集
  • 守护进程集
  • 等等

从Google搜索中,我发现有K8s Operators,例如

  • etcd 运算符
  • 普罗米修斯运算符(operator)
  • kong 运营商

但是,我不明白为什么不能使用 Controller 来完成?

运算符(operator)是对 Controller 的补充吗?

这两种设计的目的和功能有什么区别?

在控制者和操作者之间进行选择时需要记住哪些事项? ?

最佳答案

我相信术语“kubernetes Operator”是由 the CoreOS people here 引入的

An Operator is an application-specific controller that extends the Kubernetes API to create, configure and manage instances of complex stateful applications on behalf of a Kubernetes user. It builds upon the basic Kubernetes resource and controller concepts, but also includes domain or application-specific knowledge to automate common tasks better managed by computers.

基本上,kubernetes Operator 是一种模式的名称,该模式由 kubernetes Controller 组成,该 Controller 向 Kubernetes API 添加新对象,以便配置和管理应用程序,例如 Prometheus 或 etcd。

一句话:运算符(operator)是特定于域的 Controller 。

更新

a new discussion on Github关于这个完全相同的主题,链接到同一篇博客文章。讨论的相关内容是:

All Operators use the controller pattern, but not all controllers are Operators. It's only an Operator if it's got: controller pattern + API extension + single-app focus.

Operator is a customized controller implemented with CRD. It follows the same pattern as built-in controllers (i.e. watch, diff, action).

更新2

我找到了a new blog post这也试图解释其中的差异。

关于kubernetes - Kubernetes Controller 和 Kubernetes Operator 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47848258/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com