概述
Operator 是一种打包、部署、和管理 Kubernetes 应用(Application)的方法,可自动化管理应用的整个生命周期(例如:创建、更新、删除)。
平台管理员可为特定集群或命名空间部署 OperatorHub 中的 Operator。Operator 部署成功后,命名空间的开发或测试人员便能使用以下 Operator 能力:
-
重复部署和升级。
-
持续检查每个系统组件的运行状况,并提供基础的运维能力,例如:触发告警、重启 Pod 等。
相关概念
-
OperatorHub:以网络控制台的形式为您呈现了平台上已有 Operator 的列表,通过 OperatorHub,平台管理员可以查看 Operator 的描述、详细信息,并安装和管理 Operator。
-
资源: Operator 拥有的 CRD( CustomResourceDefinition )资源。在 Kubernetes API 中,CRD 资源是一个用于存储某种类型的 API 对象(CR,Custom Resource)集合的端点。
-
自定义资源:Custom Resource,CR 对象是由已部署到集群的 Operator 拥有的 CRD 创建的特定类型的 API 对象,集群成功安装 Operator 后,允许所有集群关联的项目下的用户将 CR 添加到命名空间中。
-
资源实例:基于 CR 在命名空间中通过调用 Kubernetes API 创建的资源实例,通过创建资源实例可为命名空间提供 Operator 的能力。
Operator 使用说明
目前,平台 OperatorHub 中包含四类供应来源的 Operator。对于不同来源的 Operator ,平台可提供的技术支持范围不同,使用前应做好相应评估。
供应商类型 | 使用说明 |
---|---|
用户上传 | 由用户自定义上传。稳定性未知,应谨慎使用。使用中若出现问题,请联系作者寻求帮助。 |
开源社区 | 来自开源社区。未经过平台检查或验证。使用中若出现问题,请联系开源社区寻求帮助。 |
平台认证 | 由平台或第三方提供。平台已对其进行检查并验证,但不承诺服务等级协议(SLA)。使用中若出现问题,请联系提供方寻求帮助。 |
平台自研 | 由平台自主研发且保障安全性及可用性。 |
Operator 支持使用的存储类
Operator | TopoLVM | local-path | Ceph | NFS 共享存储 |
---|---|---|---|---|
MySQL PXC | 支持 | 支持 | - | - |
MySQL MGR | 支持 | 支持 | - | - |
Kafka | 支持 | 支持 | 支持 | 支持 |
Redis | 支持 | - | 支持 | 支持 |
RabbitMQ | 支持 | - | 支持 | - |
PostgreSQL | 支持 | 支持 | 支持 | - |
资源实例默认调度规则
组件 | 默认调度规则(单实例) |
---|---|
MySQL PXC | 每个节点上,最多(required)只能调度一个 MySQL 节点。 |
MySQL MGR | 每个节点上,最多(required)只能调度一个 MySQL 节点。 |
Kafka | 每个节点上,最多(required)只能调度一个 Broker 节点。 |
Redis |
|
RabbitMQ | 每个节点上,最多(required)只能调度一个 RabbitMQ 节点。 |
PostgreSQL | 每个节点上,最多(required)只能调度一个 PostgreSQL 节点。 |