部署 Ops Manager 资源
在此页面上
您可以使用 Kubernetes 操作符将 Ops Manager 作为资源部署在 Kubernetes container中。
Considerations
以下注意事项适用:
加密连接
配置 Ops Manager 部署时,必须选择是通过HTTPS还是HTTP运行连接。
以下HTTPS过程:
建立与 Ops Manager 应用程序之间的TLS加密连接。
在应用程序数据库的副本集成员之间建立TLS加密连接。
TLS 加密需要有效证书。
以下HTTP过程:
不对与 Ops Manager 应用程序之间的连接进行加密。
不加密应用程序数据库副本集成员之间的连接。
设置要求较少。
通过HTTPS运行时,Ops Manager 默认在端口8443
上运行。
根据您是否要使用TLS加密 Ops Manager 和应用程序数据库连接,选择相应的标签页。
先决条件
重要
Kubernetes Operator 使用 kubernetes.io/tls用于存储 和 资源的 TLS 证书和私钥的密钥。MongoDB Ops ManagerMongoDB从 Kubernetes Operator 版本1 开始。17 。0 ,Kubernetes Operator 不支持将连接的 PEM 文件存储为 不透明密钥。
在部署MongoDB Ops Manager资源之前,请确保对MongoDB Ops Manager Ops Manager资源进行规划:
步骤
此过程适用于在单个MongoDB Ops Manager Kubernetes集群中部署 实例,以及在多集群部署中的MongoDB Ops Manager Operator 集群上部署 。如果要在多个MongoDB Ops Manager KubernetesKubernetesMongoDB Ops Manager 集群上部署 MongoDB Ops 的多个实例,请参阅在多个Kubernetes 集群 部署 资源。
请按照以下步骤部署 Ops Manager 资源以通过HTTPS运行,并使用TLS保护应用程序数据库。
将 kubectl
配置为默认命名空间。
如果您尚未执行,请运行以下命令,执行所创建命名空间的所有
kubectl
命令。
注意
MongoDB Ops Manager如果要在多 Kubernetes 集群 部署中部署MongoDB 资源:
将
context
设置为中心集群的名称,例如:kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"
。将
--namespace
设置为您用于多 Kubernetes 集群 MongoDB 部署的相同范围,例如:kubectl config --namespace "mongodb"
。
kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
为证书创建密钥。
如果您使用 HashiCorp Vault 作为您的 Secret 存储工具,则可以创建 Vault Secret。
要了解有关 Secret 存储的选项,请参阅配置 Secret 存储。
获得 TLS 证书和私钥后,运行以下命令以创建 MongoDB Ops Manager密钥 存储 的 TLS 证书:
kubectl create secret tls <prefix>-<metadata.name>-cert \ --cert=<om-tls-cert> \ --key=<om-tls-key> 运行以下命令以创建新 密钥 存储应用程序数据库的 TLS 证书:
kubectl create secret tls <prefix>-<metadata.name>-db-cert \ --cert=<appdb-tls-cert> \ --key=<appdb-tls-key>
为自定义CA
如果您的MongoDB Ops Manager TLS证书由自定义CA签名,则该CA证书还必须包含允许MongoDB Ops Manager备份守护程序从互联网下载MongoDB二进制文件的其他证书。 要创建 TLS 证书,请创建 ConfigMap 持有 CA 证书:
重要
Kubernetes 操作符要求 Ops Manager 证书在 ConfigMap 中命名为mms-ca.crt
。
从
downloads.mongodb.com
获取 Ops Manager 的整个TLS证书链。 以下openssl
命令将链中的证书以.crt
格式输出到当前工作目录:openssl s_client -showcerts -verify 2 \ -connect downloads.mongodb.com:443 -servername downloads.mongodb.com < /dev/null \ | awk '/BEGIN/,/END/{ if(/BEGIN/){a++}; out="cert"a".crt"; print >out}' 将 Ops Manager 的CA证书文件与您在上一步中获得的来自
downloads.mongodb.com
的整个TLS证书链连接:cat cert2.crt cert3.crt cert4.crt >> mms-ca.crt 创建 ConfigMap 对于MongoDB Ops Manager :
kubectl create configmap om-http-cert-ca --from-file="mms-ca.crt"
复制以下MongoDB Ops ManagerKubernetes 对象 之一 示例。
更改设置以匹配您的 Ops Manager 和应用程序数据库配置。
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the Kubernetes secret 11 # for the admin user 12 13 externalConnectivity: 14 type: LoadBalancer 15 security: 16 certsSecretPrefix: <prefix> # Required. Text to prefix 17 # the name of the secret that contains 18 # Ops Manager's TLS certificate. 19 tls: 20 ca: "om-http-cert-ca" # Optional. Name of the ConfigMap file 21 # containing the certificate authority that 22 # signs the certificates used by the Ops 23 # Manager custom resource. 24 25 applicationDatabase: 26 topology: SingleCluster 27 members: 3 28 version: "6.0.0-ubi8" 29 security: 30 certsSecretPrefix: <prefix> # Required. Text to prefix to the 31 # name of the secret that contains the Application 32 # Database's TLS certificate. Name the secret 33 # <prefix>-<metadata.name>-db-cert. 34 tls: 35 ca: "appdb-ca" # Optional, unless enabling TLS for |mms|. 36 # Name of the ConfigMap file 37 # containing the certicate authority that 38 # signs the certificates used by the 39 # application database. 40 41 ...
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the Kubernetes secret 11 # for the admin user 12 13 externalConnectivity: 14 type: LoadBalancer 15 security: 16 certsSecretPrefix: <prefix> # Required. Text to prefix 17 # the name of the secret that contains 18 # Ops Manager's TLS certificate. 19 tls: 20 ca: "om-http-cert-ca" # Optional. Name of the ConfigMap file 21 # containing the certificate authority that 22 # signs the certificates used by the Ops 23 # Manager custom resource. 24 25 applicationDatabase: 26 topology: MultiCluster 27 clusterSpecList: 28 - clusterName: cluster1.example.com 29 members: 4 30 - clusterName: cluster2.example.com 31 members: 3 32 - clusterName: cluster3.example.com 33 members: 2 34 version: "6.0.0-ubi8" 35 security: 36 certsSecretPrefix: <prefix> # Required. Text to prefix to the 37 # name of the secret that contains the Application 38 # Database's TLS certificate. Name the secret 39 # <prefix>-<metadata.name>-db-cert. 40 tls: 41 ca: "appdb-ca" # Optional, unless enabling TLS for |mms|. 42 # Name of the ConfigMap file 43 # containing the certicate authority that 44 # signs the certificates used by the 45 # application database. 46 47 ...
打开您的首选文本编辑器,并将对象规范粘贴到新的文本文件中。
配置特定于您的部署的设置。
键 | 类型 | 说明 | 例子 |
---|---|---|---|
字符串 |
| ||
数字 | 要并行运行的 Ops Manager 实例的数量。 最小有效值为 |
| |
字符串 |
| ||
字符串 |
| ||
字符串 | 必需。 包含 Ops 经理 TLS证书的密钥名称前缀的文本。 |
| |
字符串 | ConfigMap 的名称 您创建用于验证使用自定义MongoDB Ops Manager CA 签名的 TLS 证书。如果您使用自定义MongoDB Ops Manager CA 签署 TLS 证书,则此字段为必填项。 |
| |
字符串 | Kubernetes服务 ServiceType MongoDB Ops ManagerKubernetes在 之外公开 。 |
| |
整型 | Ops Manager Application Database副本集的成员数。 |
| |
字符串 | 必需。 MongoDBOps Manager Application Database应运行的 版本。 对于Enterprise 版 重要提示:确保选择兼容的MongoDB Server版本。 兼容版本因MongoDB 数据库资源使用的基础映像而异。 要了解有关 MongoDB 版本控制的更多信息,请参阅 MongoDB 手册中的 MongoDB 版本控制。 | 为获得最佳结果,请使用 MongoDB最新可用的企业版 与您的MongoDB Ops Manager 版本 兼容 。 | |
字符串 | 可选。 应用程序数据库的 Kubernetes 部署类型。 如果省略,则默认值为 如果您指定 您无法通过修改 CRD 中的 另请参阅资源规范的示例。 |
| |
字符串 | 必需。 包含应用程序数据库的TLS证书的密钥名称前缀的文本。 |
| |
字符串 | ConfigMap 的名称 创建用于验证使用自定义 CA 签名的应用程序数据库 TLS 证书。如果您使用自定义 CA 签署应用程序数据库 TLS 证书,则此字段为必填项。 |
Kubernetes 操作符会将您使用 设置添加的 CA |
可选:配置备份设置。
要配置备份,必须启用备份,然后:
选择配置S 3快照存储或块存储存储。 如果同时部署S3快照存储和块存储存储, MongoDB Ops Manager会随机选择一个用于备份。
选择配置 oplog 存储或S3 oplog 存储。 如果同时部署 oplog 存储和S3 oplog 存储,Ops Manager 会随机选择其中一个用于 oplog 备份。
键 | 类型 | 说明 | 例子 |
---|---|---|---|
布尔 | 指示备份已启用的标志。 您必须指定 |
| |
spec .backup .headDB | 集合 | 头部数据库配置设置的集合。 有关集合中各个设置的说明,请参阅 | |
字符串 | oplog 存储的名称。 |
| |
字符串 | S3 oplog 存储的名称。 |
| |
字符串 | oplog 存储的 |
| |
字符串 | S3 |
|
如果同时部署S3快照存储和块存储存储, MongoDB Ops Manager会随机选择一个用于备份。
要配置快照存储,请配置以下设置:
键 | 类型 | 说明 | 例子 |
---|---|---|---|
字符串 | S3快照存储的名称。 |
| |
字符串 |
| ||
字符串 |
| ||
字符串 | 存储数据库备份快照的S3或S3兼容存储桶的名称。 |
|
要配置块存储,请配置以下设置:
创建你的 Ops Manager 实例。
在 Ops Manager 资源定义的文件名上运行以下kubectl
命令:
kubectl apply -f <opsmgr-resource>.yaml
注意
MongoDB Ops Manager如果要在多 Kubernetes集群 部署上部署MongoDB 资源,请运行:
kubectl apply \ --context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \ --namespace "mongodb" -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml
追踪你的 Ops Manager 实例的状态。
要检查 Ops Manager 资源的状态,请调用以下命令:
kubectl get om -o yaml -w
部署资源时,该命令会在status
字段下返回类似于以下内容的输出:
status: applicationDatabase: lastTransition: "2022-04-01T09:49:22Z" message: AppDB Statefulset is not ready yet phase: Pending type: "" version: "" backup: phase: "" opsManager: phase: ""
Kubernetes Operator 按以下顺序协调资源:
应用程序数据库。
Ops Manager。
备份。
在前一个资源进入Running
阶段之前,Kubernetes 操作符 不会协调某一资源。
在 Ops Manager 经理完成Pending
阶段后,如果启用了备份,该命令会在status
字段下返回类似于以下内容的输出:
status: applicationDatabase: lastTransition: "2022-04-01T09:50:20Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T09:57:42Z" message: The MongoDB object <namespace>/<oplogresourcename> doesn't exist phase: Pending opsManager: lastTransition: "2023-04-01T09:57:40Z" phase: Running replicas: 1 url: https://om-svc.cloudqa.svc.cluster.local:8443 version: "6.0.17"
在配置备份数据库之前,备份将保持Pending
状态。
提示
status.opsManager.url
字段说明资源的连接URL 。 使用此URL ,您可以从 Kubernetes 集群内部访问 Ops Manager 或使用 ConfigMap 创建项目。
资源完成Pending
阶段后,该命令会在status
字段下返回类似于以下内容的输出:
status: applicationDatabase: lastTransition: "2022-12-06T18:23:22Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" opsManager: lastTransition: "2022-12-06T18:23:26Z" message: The MongoDB object namespace/oplogdbname doesn't exist phase: Pending url: https://om-svc.dev.svc.cluster.local:8443 version: ""
在配置备份数据库之前,备份将保持Pending
状态。
提示
status.opsManager.url
字段说明资源的连接URL 。 使用此URL ,您可以从 Kubernetes 集群内部访问 Ops Manager 或使用 ConfigMap 创建项目。
访问 Ops Manager 应用程序。
根据您在 Kubernetes 中将流量路由到 Ops Manager 应用程序的方式,您采取的步骤会有所不同。如果已配置 Kubernetes 操作符 来为您创建 Kubernetes 服务,或者您手动创建了 Kubernetes 服务,请使用以下方法之一访问 Ops Manager 应用程序:
查询您的云提供商以获取负载均衡器服务的FQDN 。 有关详细信息,请参阅云提供商的文档。
打开窗口,使用经理服务的FQDN和端口号导航到 Ops Manager 应用程序。
https://ops.example.com:8443 使用管理员用户凭证登录 Ops Manager。
将防火墙规则设置为允许从互联网访问权限运行Kubernetes集群的托管上的
spec.externalConnectivity.
port
。打开浏览器窗口,使用MongoDB Ops Manager FQDN 和 导航到
spec.externalConnectivity.
port
应用程序。https://ops.example.com:30036 使用管理员用户凭证登录 Ops Manager。
要了解如何使用第三方服务访问 Ops Manager 应用程序,请参阅您的解决方案的文档。
为 Kubernetes 操作符 创建档案。
要配置凭证,必须创建MongoDB Ops Manager 组织、生成编程API 密钥并创建 密钥 。这些活动遵循“为Kubernetes Operator 创建凭证”页面上的先决条件和过程。
使用 ConfigMap 创建项目 。
要创建项目,请遵循使用 ConfigMap 为每个MongoDB部署创建一个项目页面上的前提条件和步骤。
在项目 ConfigMap 中设置以下字段:
将 ConfigMap 中的
data.baseUrl
设置为 Ops Manager 应用程序的URL 。 要查找此URL ,请调用以下命令:kubectl get om -o yaml -w 该命令在
status.opsManager.url
字段中返回 Ops Manager 应用程序的 URL,与以下示例类似:status: applicationDatabase: lastTransition: "2022-12-06T18:23:22Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" opsManager: lastTransition: "2022-12-06T18:23:26Z" message: The MongoDB object namespace/oplogdbname doesn't exist phase: Pending url: https://om-svc.dev.svc.cluster.local:8443 version: "" 重要
如果将 Ops Manager 与 Kubernetes Operator 一起部署,且 Ops Manager 将管理部署在 Kubernetes 集群外部的 MongoDB 数据库资源,则必须将
data.baseUrl
设置为与 Ops Manager 资源规范中的spec.configuration.mms.centralUrl
设置相同的值。要学习;了解更多信息,请参阅管理外部MongoDB部署。
将
data.sslMMSCAConfigMap
设置为 ConfigMap 的名称 包含用于签署MongoDB Ops Manager 主机证书的根 CA 证书。Kubernetes Operator 要求您在 ConfigMap 中将此MongoDB Ops Manager资源的证书命名为mms-ca.crt
。
部署 MongoDB database 资源,完成备份配置。
默认, MongoDB Ops Manager启用备份。 为oplog和快照存储创建MongoDB 数据库资源以完成配置。
在与 Ops Manager 资源相同的命名空间中为 oplog 存储部署MongoDB database资源。
注意
创建此数据库作为三成员副本集。
将资源的
metadata.name
与您在 Ops Manager 资源定义中指定的spec.backup.opLogStores.mongodbResourceRef.name
进行匹配。在与 Ops Manager 资源相同的命名空间中为 S3 快照存储部署 MongoDB 数据库 资源。
注意
将S3快照存储创建为副本集。
将资源的
metadata.name
与您在 Ops Manager 资源定义中指定的spec.backup.s3Stores.mongodbResourceRef.name
进行匹配。
确认 Ops Manager 资源正在运行。
要检查 Ops Manager 资源的状态,请调用以下命令:
kubectl get om -o yaml -w
当 Ops Manager 运行时,该命令会在status
字段下返回类似于以下内容的输出:
status: applicationDatabase: lastTransition: "2022-12-06T17:46:15Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" opsManager: lastTransition: "2022-12-06T17:46:32Z" phase: Running replicas: 1 url: https://om-backup-svc.dev.svc.cluster.local:8443 version: "6.0.17"
有关资源部署状态的信息,请参阅排除 Kubernetes 操作符故障。
请按照以下步骤部署MongoDB Ops Manager资源以通过HTTP运行:
将 kubectl
配置为默认命名空间。
如果您尚未执行,请运行以下命令,执行所创建命名空间的所有
kubectl
命令。
注意
MongoDB Ops Manager如果要在多 Kubernetes 集群 部署中部署MongoDB 资源:
将
context
设置为中心集群的名称,例如:kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"
。将
--namespace
设置为您用于多 Kubernetes 集群 MongoDB 部署的相同范围,例如:kubectl config --namespace "mongodb"
。
kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
复制以下MongoDB Ops ManagerKubernetes 对象 之一 示例。
更改设置以匹配您的MongoDB Ops Manager配置。
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the secret 11 # for the admin user 12 externalConnectivity: 13 type: LoadBalancer 14 15 applicationDatabase: 16 topology: SingleCluster 17 members: 3 18 version: <mongodbversion> 19 ...
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the Kubernetes secret 11 # for the admin user 12 13 externalConnectivity: 14 type: LoadBalancer 15 16 applicationDatabase: 17 topology: MultiCluster 18 clusterSpecList: 19 - clusterName: cluster1.example.com 20 members: 4 21 - clusterName: cluster2.example.com 22 members: 3 23 - clusterName: cluster3.example.com 24 members: 2 25 version: "6.0.5-ubi8" 26 27 ...
打开您的首选文本编辑器,并将对象规范粘贴到新的文本文件中。
配置上一示例中包含的设置。
键 | 类型 | 说明 | 例子 |
---|---|---|---|
字符串 | 此KubernetesMongoDB Ops Manager 对象 的名称 。 资源名称必须少于或等于 44 个字符。 要学习;了解更多信息,请参阅 和有关 |
| |
数字 | 要并行运行的 Ops Manager 实例的数量。 最小有效值为 |
| |
字符串 |
| ||
字符串 |
| ||
字符串 | 可选。 Kubernetes服务 ServiceType MongoDB Ops ManagerKubernetes在 之外公开 。 如果不希望 Kubernetes Operator 创建 Kubernetes 服务以将外部流量路由到 Ops Manager 应用程序,请排除 |
| |
整型 | Ops Manager Application Database副本集的成员数。 |
| |
字符串 | 必需。 MongoDBOps Manager Application Database应运行的 版本。 对于 MongoDB Community Edition,格式应为 重要提示:确保选择兼容的MongoDB Server版本。 兼容版本因MongoDB 数据库资源使用的基础映像而异。 要了解有关 MongoDB 版本控制的更多信息,请参阅 MongoDB 手册中的 MongoDB 版本控制。 | 为获得最佳结果,请使用 MongoDB最新可用的企业版 与您的MongoDB Ops Manager 版本 兼容 。 | |
字符串 | 可选。 应用程序数据库的 Kubernetes 部署类型。 如果省略,则默认值为 如果您指定 相反,您必须指定 您无法通过修改 CRD 中的 另请参阅资源规范的示例。 |
|
可选:配置备份设置。
要配置备份,必须启用备份,然后:
选择配置S 3快照存储或块存储存储。 如果同时部署S3快照存储和块存储存储, MongoDB Ops Manager会随机选择一个用于备份。
选择配置 oplog 存储或S3 oplog 存储。 如果同时部署 oplog 存储和S3 oplog 存储,Ops Manager 会随机选择其中一个用于 oplog 备份。
键 | 类型 | 说明 | 例子 |
---|---|---|---|
布尔 | 指示备份已启用的标志。 您必须指定 |
| |
spec .backup .headDB | 集合 | 头部数据库配置设置的集合。 有关集合中各个设置的说明,请参阅 | |
字符串 | oplog 存储的名称。 |
| |
字符串 | S3 oplog 存储的名称。 |
| |
字符串 | oplog 存储的 |
| |
字符串 | MongoDB databaseS3oplog 存储的 资源名称。 |
|
您还必须配置S 3快照存储或块存储。 如果同时部署S3快照存储和块存储, MongoDB Ops Manager会随机选择一个用于备份。
要配置S 3快照存储,请配置以下设置:
键 | 类型 | 说明 | 例子 |
---|---|---|---|
字符串 | S3快照存储的名称。 |
| |
字符串 | 包含 |
| |
字符串 |
| ||
字符串 | 存储数据库备份快照的S 3或S 3兼容存储桶的名称。 |
| |
字符串 | S 3兼容存储桶所在的区域。 仅当S 3存储的 |
|
要配置块存储,请配置以下设置:
创建你的 Ops Manager 实例。
在 Ops Manager 资源定义的文件名上运行以下kubectl
命令:
kubectl apply -f <opsmgr-resource>.yaml
注意
MongoDB Ops Manager如果要在多 Kubernetes集群 部署上部署MongoDB 资源,请运行:
kubectl apply \ --context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \ --namespace "mongodb" -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml
追踪你的 Ops Manager 实例的状态。
要检查 Ops Manager 资源的状态,请调用以下命令:
kubectl get om -o yaml -w
部署资源时,该命令会在status
字段下返回类似于以下内容的输出:
status: applicationDatabase: lastTransition: "2023-04-01T09:49:22Z" message: AppDB Statefulset is not ready yet phase: Pending type: "" version: "" backup: phase: "" opsManager: phase: ""
Kubernetes Operator 按以下顺序协调资源:
应用程序数据库。
Ops Manager。
备份。
在前一个资源进入Running
阶段之前,Kubernetes 操作符 不会协调某一资源。
在MongoDB Ops Manager资源完成 Pending
阶段后,如果启用了备份,该命令会在 status
字段下返回类似于以下内容的输出:
status: applicationDatabase: lastTransition: "2023-04-01T09:50:20Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T09:57:42Z" message: The MongoDB object <namespace>/<oplogresourcename> doesn't exist phase: Pending opsManager: lastTransition: "2022-04-01T09:57:40Z" phase: Running replicas: 1 url: http://om-svc.cloudqa.svc.cluster.local:8080 version: "6.0.17"
在配置备份数据库之前,备份将保持Pending
状态。
提示
status.opsManager.url
字段说明资源的连接URL 。 使用此URL ,您可以从 Kubernetes 集群内部访问 Ops Manager 或使用 ConfigMap 创建项目。
访问 Ops Manager 应用程序。
根据您在 Kubernetes 中将流量路由到 Ops Manager 应用程序的方式,您采取的步骤会有所不同。如果已配置 Kubernetes 操作符 来为您创建 Kubernetes 服务,或者您手动创建了 Kubernetes 服务,请使用以下方法之一访问 Ops Manager 应用程序:
查询您的云提供商以获取负载均衡器服务的FQDN 。 有关详细信息,请参阅云提供商的文档。
打开窗口,使用经理服务的FQDN和端口号导航到 Ops Manager 应用程序。
http://ops.example.com:8080 使用管理员用户凭证登录 Ops Manager。
将防火墙规则设置为允许从互联网访问权限运行Kubernetes集群的托管上的
spec.externalConnectivity.
port
。打开浏览器窗口,使用MongoDB Ops Manager FQDN 和 导航到
spec.externalConnectivity.
port
应用程序。http://ops.example.com:30036 使用管理员用户凭证登录 Ops Manager。
要了解如何使用第三方服务访问 Ops Manager 应用程序,请参阅您的解决方案的文档。
可选:为凭证 Operator 创建Kubernetes。
如果启用了备份,则必须创建MongoDB Ops Manager组织,生成编程API密钥,并在secret-storage-tool中创建密钥。 这些活动遵循“为Kubernetes Operator 创建凭证”页面上的先决条件和过程。
可选:使用 ConfigMap 创建项目 。
如果已启用备份,请按照使用 ConfigMap 为每个MongoDB部署创建一个项目页面上的先决条件和过程创建项目。
您必须设立ConfigMap 中的 data.baseUrl
设置为MongoDB Ops Manager应用程序的URL 。 要查找此URL ,请调用以下命令:
kubectl get om -o yaml -w
该命令在status.opsManager.url
字段中返回 Ops Manager 应用程序的 URL,与以下示例类似:
status: applicationDatabase: lastTransition: "2022-04-01T10:00:32Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T09:57:42Z" message: The MongoDB object <namespace>/<oplogresourcename> doesn't exist phase: Pending opsManager: lastTransition: "2022-04-01T09:57:40Z" phase: Running replicas: 1 url: http://om-svc.cloudqa.svc.cluster.local:8080 version: "6.0.17"
重要
如果将 Ops Manager 与 Kubernetes Operator 一起部署,且 Ops Manager 将管理部署在 Kubernetes 集群外部的 MongoDB 数据库资源,则必须将 data.baseUrl
设置为与 Ops Manager 资源规范中的 spec.configuration.mms.centralUrl
设置相同的值。
要学习;了解更多信息,请参阅管理外部MongoDB部署。
可选:部署MongoDB 数据库资源以完成备份配置。
如果已启用 备份 ,请为 和快照存储创建MongoDB database oplog资源以完成配置。
在与 Ops Manager 资源相同的命名空间中为 oplog 存储部署MongoDB database资源。
注意
创建此数据库作为副本集。
将资源的
metadata.name
与您在 Ops Manager 资源定义中指定的spec.backup.opLogStores.mongodbResourceRef.name
进行匹配。选择以下选项之一:
在与MongoDB database 资源相同的命名空间中部署块存储的MongoDB Ops Manager 资源。
将资源的
metadata.name
与您在 Ops Manager 资源定义中指定的spec.backup.blockStores.mongodbResourceRef.name
进行匹配。配置S 3存储桶以用作S 3快照存储。
确保您可以使用您在 3MongoDB Ops Manager资源定义中指定的详细信息访问权限 S 存储桶。
可选:确认MongoDB Ops Manager资源正在运行。
如果已启用备份,请通过调用以下命令检查MongoDB Ops Manager资源的状态:
kubectl get om -o yaml -w
当MongoDB Ops Manager正在运行时,该命令会在 status
字段下返回以下输出:
status: applicationDatabase: lastTransition: "2022-04-01T10:00:32Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T10:00:53Z" phase: Running version: "6.0.5-ubi8" opsManager: lastTransition: "2022-04-01T10:00:34Z" phase: Running replicas: 1 url: http://om-svc.cloudqa.svc.cluster.local:8080 version: "6.0.17"
有关资源部署状态的信息,请参阅排除 Kubernetes 操作符故障。