Operators

Operators

原文:https://coreos.com/operators/

概览(Overview)

Operator 是一个特定于应用程序的控制器,它扩展 Kubernetes API 以代表 Kubernetes 用户创建,配置和管理复杂,有状态的应用程序实例。它建立在基本的 Kubernetes 资源和控制器概念的基础上,还包括域或特定于应用程序的知识,以自动致性由计算机更好管理的常见任务。

我们使用 Operator,因为管理由状态的应用程序(如数据库,缓存和监视系统)是一项巨大的挑战,特别是在大规模的情况下。这些系统需要具备专业操作知识的人,才能正确扩展,升级和重新配置,同时防止数据丢失和不可用。

Operator 代表软件中具备专业操作知识的人,可以可靠的管理应用程序(An Operator represents human operational knowledge in software to reliably manage an application.)

因此,我们(可以)采用相同的操作知识来管理相对较小的集群,并对其编码到软件中使用。然后,Operator 可以利用强大的 Kubernetes 抽象来正确运行和管理应用程序,并且可以成规模地进行管理。

Operator 如何工作(How Operators work)

Operator 通过第三方资源机制扩展了 Kubernetes API,使用户能够创建,配置和管理应用程序。与 Kubernetes 内置资源一样,运营商不仅管理应用程序地单个实例,而且还管理集群中的多个实例。

例如,etcd Operator 可以通过三个步骤模拟人类操作员的行为。首先,它通过使用 Kubernetes API 观察当前集群的状态,然后,发现并分析期望状态和当前状态之间的差异。最后,它通过一个或两个 etcd 集群管理 API 或 Kubernetes API 修复这些差异。假设我们由一个由 3 个成员组成的 etcd 集群,其中一个集群发生故障。 etcd Operator 不断比较所需状态(3 个成员)和当前状态(2 个成员)。在这种情况下,Operator 通过用新的替换死亡成员来修复集群。现在 etcd 集群恢复到健康状态。

你可能感兴趣的:(operator)