2.2. 从安装的 Operator 创建应用程序
Operators 是打包、部署和管理 Kubernetes 应用程序的方法。您可以使用集群管理员安装的 Operator 在 OpenShift Container Platform 上创建应用程序。
本指南为开发人员介绍如何使用 OpenShift Container Platform Web 控制台从已安装的 Operator 中创建应用程序。
其他资源
- 参阅 Operators 指南来进一步了解 Operators 如何工作以及如何将 Operator Lifecycle Manager 集成到 OpenShift Container Platform 中。
2.2.1. 使用 Operator 创建 etcd 集群
本流程介绍了如何通过由 Operator Lifecycle Manager (OLM) 管理的 etcd Operator 来新建一个 etcd 集群。
先决条件
- OpenShift Container Platform 4.3 集群访问权限
- 管理员已在集群范围内安装了 etcd Operator。
流程
- 针对此流程在 OpenShift Container Platform Web 控制台中新建一个项目。本示例所用项目名为 my-etcd。
导航至 Operators
Installed Operators 页面。由集群管理员安装到集群且可供使用的 Operator 将以 ClusterServiceVersions (CSV) 列表形式显示在此处。CSV 用于启动和管理由 Operator 提供的软件。 提示使用以下命令从 CLI 获得该列表:
$ oc get csv
进入 Installed Operators 页面,点击 Copied,然后点击 etcd Operator 查看更多详情和可用操作:
图 2.1. etcd Operator 概述
正如 Provided API 下所示,该 Operator 提供了三类新资源,包括一种用于 etcd Cluster 的资源(
EtcdCluster
资源)。这些对象的工作方式类似于内置的原生 Kubernetes 对象(如Deployments
或ReplicaSets
),但包含特定于管理 etcd 的逻辑。新建 etcd 集群:
- 在 etcd Cluster API 方框中,点击 Create New。
-
在下一页上,您可对
EtcdCluster
对象的最小起始模板进行任何修改,比如集群大小。现在,点击 Create 即可完成。点击后即可触发 Operator 启动 Pod、Services 和新 etcd 集群的其他组件。
单击 Resources 选项卡,可以看到您的项目现在包含很多由 Operator 自动创建和配置的资源。
图 2.2. etcd Operator 资源
验证已创建了支持您从项目中的其他 Pod 访问数据库的 Kubernetes 服务。
给定项目中具有
edit
角色的所有用户均可创建、管理和删除应用程序实例(本例中为 etcd 集群),这些实例由已在项目中创建的 Operator 以自助方式管理,就像云服务一样。如果要赋予其他用户这一权利,项目管理员可使用以下命令添加角色:$ oc policy add-role-to-user edit <user> -n <target_project>
现在您有了一个 etcd 集群,当 Pod 运行不畅,或在集群中的节点之间迁移时,该集群将对故障做出反应并重新平衡数据。最重要的是,具有适当访问权限的集群管理员或开发人员现在可以轻松地通过其应用程序使用数据库。