协调MongoDBOpsManager
自定义资源
以下图示描述了如何Kubernetes操作器协调对MongoDBOpsManager
的更改CustomResourceDefinition的每个成员Kubernetes集群。
操作器Kubernetes操作器创建或更新
<om_resource_name>-db-config
密钥。此密钥包含MongoDB代理使用的配置,用于启动应用程序数据库副本集。操作器Kubernetes操作器创建或更新
<om_resource_name>-db
应用程序数据库有状态集。此有状态集包含至少三个Pods。每个Pod运行一个MongoDB代理实例。每个MongoDB代理在其Pod上启动一个
mongod
实例。操作器Kubernetes操作器将
<om_resource_name>-db-config
密钥挂载到每个Pod上。MongoDB代理使用此密钥来配置应用程序数据库副本集。在多集群部署中,系统Kubernetes操作器将成员集群的索引后缀分配给每个应用程序数据库的StatefulSet,格式为
<om_resource_name>-db-<cluster-idx>
,例如:om-db-1
。
操作器Kubernetes操作器创建或更新
<om_resource_name>
StatefulSet。在多集群部署中,系统Kubernetes操作器将成员集群的索引后缀分配给每个StatefulSet,格式为<om_resource_name>-<cluster-idx>
,例如:om-1
。StatefulSet包含每个Ops Manager副本的一个Pod。每个Ops Manager副本连接到应用程序数据库。
大多数对
MongoDBOpsManager
自定义资源将触发对<om_resource_name>
StatefulSet中Pod的滚动升级。为应用程序数据库启用TLS也会触发滚动重启,因为连接到应用程序数据库的连接字符串已更改。对spec.backup
的更改不会触发滚动升级。操作器Kubernetes操作器调用Ops ManagerAPI来创建管理员用户。系统Kubernetes操作器将此管理员用户的凭据保存到
<om_resource_name>-admin-key
密钥中。系统Kubernetes操作器使用这些凭据进行所有其他Ops ManagerAPI调用。此协调步骤仅在您使用Kubernetes操作器部署新Ops Manager资源时发生。当系统更新资源时,系统Kubernetes操作器跳过此步骤。操作器Kubernetes操作器对
<om_resource_name>-db
应用程序数据库StatefulSet中的Pod执行滚动升级,以启用Ops Manager对其进行监控。默认情况下,已启用监控。此协调步骤仅在部署新Ops Manager资源时发生一次。如果
spec.backup.enabled
为true
,系统Kubernetes操作器创建<om_resource_name>-backup-daemon
StatefulSet或验证其正在运行。备份守护进程连接到与Ops Manager部署相同的应用程序数据库。在多集群部署中,系统Kubernetes操作器将成员集群的索引后缀分配给每个备份守护进程的StatefulSet,格式为
<om_resource_name>-backup-daemon-<cluster-idx>
,例如:om-backup-daemon-1
。如果
spec.backup.enabled
为true
,系统Kubernetes操作器调用Ops ManagerAPI以确保运维管理应用程序的备份配置与您在自定义资源定义中定义的配置相匹配。