Operator 的角色是使用控制循环来协调应用程序的真实状态与 CRD 所需的状态,在控制循环中它可以自动扩展、更新或重新启动应用程序。在实践中,Kubernetes 提供了基本的命令、原语,Operators 可以使用它们来定义更复杂的操作。
最终,Operator 是在集群中运行的实际程序,并通过 Kubernetes API 进行交互,以自动执行比 Kubernetes 本身管理的功能更复杂的功能。
另请阅读:Kubernetes:对公司来说有什么优势
K8s Operator:
如果您觉得这一切听起来像是自动系统管理软件,那么您 马来西亚电报数据 是对的。如果我们愿意的话,操作员就是这样的:一位专家,我们可以向他表明我们想要什么以及使用哪些工具,然后他不断地工作以实现该目标。
从这个角度来看,操作员是声明性工具,而不是命令性工具,因为我们的角色是定义目标和所需资源,而他们的责任是调整系统以使其尽可能接近所需状态。
尽管有一些更常见的典型操作,但可以通过操作员自动化的事物数量几乎是无限的。
按需部署应用程序的可能性;
备份应用程序的状态或从特定备份重新启动 ;
管理应用程序及其所有依赖项的更新,包括新的配置设置和对数据库的必要更改;
向不支持Kubernetes API 的应用程序公开服务。
这些只是 K8s Operator 的一些可能的应用程序。操作员可以完成的工作的限制与编程人员的能力和项目的需求有关。
让我们这样说吧:与允许您使用其 API(和 kubectl)管理应用程序的 Kubernetes 相比,Operator 是一个控制器,它扩展 API 的功能并为用户管理应用程序的复杂实例。为此,它一方面使用 Kubernetes 自己的资源,另一方面使用针对特定应用程序或领域的特定技能。
通过这种方式,操作员可以自动化他们管理的软件的整个生命周期,承担第一天和第二天要完成的经典活动,如果没有自动化,这些活动将与一个或多个人类操作员相关联。