Docs 菜单
Docs 主页
/
MongoDB Enterprise Kubernetes Operator
/ /

调节MongoDBOpsManager 自定义资源

下图描述了Kubernetes OperatorMongoDBOpsManager 如何协调对每个成员Kubernetes集群上的 CustomResourceDefinition 的更改。

该图描述了MongoDB Enterprise Kubernetes Operator 如何协调每个成员Kubernetes集群上 MongoDBOpsManager 自定义资源定义的更改。
点击放大
  1. Kubernetes 操作符 创建或更新<om_resource_name>-db-config密钥。此密钥包含 MongoDB Agent 用于启动应用程序数据库副本集的配置。

  2. Kubernetes Operator 创建或更新<om_resource_name>-db应用程序数据库 StatefulSet。 此 StatefulSet 包含至少三个 Pod

    • 每个 Pod 运行一个MongoDB Agent实例。 每个MongoDB Agent都会在其 Pod 上启动一个mongod实例。

    • Kubernetes 操作符 将<om_resource_name>-db-config密钥安装到每个 Pod。MongoDB Agent使用此密钥来配置应用程序数据库副本集。

      在多集群部署中, Kubernetes Operator 将成员集群的索引后缀以<om_resource_name>-db-<cluster-idx>的形式分配给每个应用程序数据库的 StatefulSet,示例: om-db-1

  3. Kubernetes Operator 创建或更新<om_resource_name> StatefulSet。 在多集群部署中,Kubernetes Operator 将成员集群的索引后缀以<om_resource_name>-<cluster-idx>的形式分配给每个 StatefulSet,例如: om-1

    StatefulSet 为每个MongoDB Ops Manager副本包含一个 Pod。 每个MongoDB Ops Manager副本都连接到应用程序数据库。

    MongoDBOpsManagertrigger 自定义资源 的大多数更改<om_resource_name> StatefulSet 中 Pod 的滚动升级。为应用程序数据库启用 TLS也会触发滚动重启,因为应用程序数据库的连接string会发生变化。 对spec.backup的更改不会trigger滚动升级。

  4. Kubernetes Operator 调用MongoDB Ops Manager API 来创建管理员用户。 Kubernetes Operator 将此管理员用户的凭证保存在<om_resource_name>-admin-key密钥中。 Kubernetes Operator 将这些凭证用于所有其他MongoDB Ops Manager API调用。 当您使用Kubernetes Operator部署新的MongoDB Ops Manager资源时,此协调步骤仅发生一次。 Kubernetes Operator 在更新资源时会跳过此步骤。

  5. Kubernetes Operator 对 <om_resource_name>-db 应用程序数据库 StatefulSet 中的 Pod 执行滚动升级,以使MongoDB Ops Manager能够对其进行监控。 默认启用监控。 此协调步骤仅发生一次,例如当您部署新的MongoDB Ops Manager资源时。

  6. 如果spec.backup.enabledtrue , Kubernetes Operator 将创建<om_resource_name>-backup-daemon StatefulSet 或验证其正在运行。 备份守护程序连接到与MongoDB Ops Manager部署相同的应用程序数据库。

    在多集群部署中, Kubernetes Operator 将成员集群的索引后缀以<om_resource_name>-backup-daemon-<cluster-idx>的形式分配给每个备份守护程序的 StatefulSet,示例: om-backup-daemon-1

  7. 如果spec.backup.enabledtrue,Kubernetes 操作符会调用 Ops Manager API,以确保 Ops Manager Application 的备份配置与您在自定义资源定义中定义的配置相匹配。

后退

MongoDBOpsManager Resource