41.3. 启动第一个 Operator
本节介绍了如何使用 Couchbase Operator 来创建新的 Couchbase 集群。
先决条件
- 启用了技术预览 OLM 的 OpenShift Container Platform 3.11
-
使用具有
cluster-admin权限的账户访问该集群 - Couchbase Operator 加载到 Operator 目录(默认为以技术预览 OLM 加载)
流程
-
作为集群管理员(具有
cluster-admin角色的用户),在 OpenShift Container Platform Web 控制台中为此流程创建一个新项目。本例使用名为 couchbase-test 的项目。 在项目内安装 Operator 通过 Subscription 对象来完成,集群管理员可在整个集群中创建并管理。要查看可用的 Subscriptions,请从下拉菜单中选择 Cluster Console,然后进入左侧导航中的 Operators
Catalog Sources 屏幕。 注意如果要启用其他用户查看、创建和管理项目中的订阅,则必须具有该项目的
admin和view角色,以及operator-lifecycle-manager项目的view角色。集群管理员可以使用以下命令添加这些角色:oc policy add-role-to-user admin <user> -n <target_project> oc policy add-role-to-user view <user> -n <target_project> oc policy add-role-to-user view <user> -n operator-lifecycle-manager
$ oc policy add-role-to-user admin <user> -n <target_project> $ oc policy add-role-to-user view <user> -n <target_project> $ oc policy add-role-to-user view <user> -n operator-lifecycle-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以后的 OLM 版本中会简化这一体验。
从 Web 控制台或 CLI 将所需的项目订阅到 Couchbase 目录源。
选择以下任一方法:
- 对于 Web 控制台方法,请确保您正在查看所需项目,然后从此屏幕中,对一个 Operator 点 Create Subscription,将它安装到项目中。
对于 CLI 方法,使用以下定义创建 YAML 文件:
Couchbase-subscription.yaml 文件
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
metadata部分中的namespace字段设置为所需的项目。
然后,使用 CLI 创建订阅:
oc create -f couchbase-subscription.yaml
$ oc create -f couchbase-subscription.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建订阅后,Operator 会出现在 Cluster Service Versions 屏幕中,目录用户可以使用它来启动 Operator 提供的软件。点击 Couchbase Operator 查看此 Operator 功能的更多详情:
图 41.3. Couchbase Operator 概述
在创建 Couchbase 集群之前,请使用 Web 控制台或 CLI 创建含有超级用户帐户凭证的 Web 控制台或 CLI 的 secret。Operator 会在启动时读取它,并使用以下详情配置数据库:
Couchbase secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
metadata部分中的namespace字段设置为所需的项目。
选择以下任一方法:
-
对于 Web 控制台方法,从左侧导航中点 Workloads
Secrets,然后点 Create,然后从 YAML 选择 Secret 以进入 secret 定义。 对于 CLI 方法,将 secret 定义保存到 YAML 文件(例如: couchbase-secret.yaml)并使用 CLI 在所需项目中创建:
oc create -f couchbase-secret.yaml
$ oc create -f couchbase-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建新的 Couchbase 集群。
注意给定项目中具有
edit角色的所有用户均可创建、管理和删除应用程序实例(本例中为 Couchbase 集群),由项目中已安装的 Operator 以自助服务方式管理,就像云服务一样。如果要启用具有此功能的其他用户,集群管理员可以使用以下命令添加角色:oc policy add-role-to-user edit <user> -n <target_project>
$ oc policy add-role-to-user edit <user> -n <target_project>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Web 控制台的 Cluster Service Versions 部分中,从 Operator 的 Overview 屏幕中单击 Create Couchbase Operator,以开始创建新的
CouchbaseCluster对象。此对象是集群中 Operator 提供的新类型。对象的工作方式类似于内置的Deployment或ReplicaSet对象,但包含特定于管理 Couchbase 的逻辑。提示单击 Create Couchbase Operator 按钮时,您第一次可能会收到 404 错误。这是一个已知问题;作为临时解决方案,请刷新此页面以继续。(BZ#1609731)
Web 控制台包含一个最小的起始模板,但您可以参阅 Operator 支持的所有功能的 Couchbase 文档。
图 41.4. 创建 Couchbase 集群
确保配置包含
admin凭证的 secret 名称:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 完成对象定义后,点 web 控制台中的 Create (或使用 CLI)创建对象。这会触发 Operator 启动 pod、服务和 Couchbase 集群的其他组件。
您的项目现在包含很多由 Operator 自动创建和配置的资源:
图 41.5. Couchbase 集群详情
点 Resources 选项卡,以验证已创建了支持您从项目中的其他 pod 访问数据库的 Kubernetes 服务。
使用
cb-example服务,您可以使用 secret 中保存的凭据来连接数据库。其他应用容器集可以挂载并使用此 secret 并与服务进行通信。
现在,您有容错安装 Couchbase,它会对故障做出反应并重新平衡数据,因为 pod 变得不健康,或在集群中的节点之间迁移。最重要的是,集群管理员或开发人员可以通过提供高级别配置来轻松获取此数据库集群;不需要深入了解 Couchbase 集群或故障转移的细微知识。
参阅 官方 Couchbase 文档,了解更多有关 Couchbase Autonomous Operator 的功能。