次の図では、 Kubernetes OperatorMongoDBOpsManager が各ノードのKubernetesクラスター上の CustomResourceDefinition への変更を調整する方法を説明しています。
Kubernetes Operator は
<om_resource_name>-db-configシークレットを作成または更新します。 このシークレットには、MongoDB Agent がアプリケーション データベース レプリカセットを起動するために使用する構成が含まれています。Kubernetes Operator は、
<om_resource_name>-dbApplication Database StatefunctionSet を作成または更新します。このステートメントセットには、少なくとも 3 つの ポッド が含まれています。各ポッドは 1 つの MongoDB Agent インスタンスを実行します。 各MongoDB Agentは、ポッドで
mongodインスタンスを起動します。Kubernetes 演算子は
<om_resource_name>-db-configシークレットを各ポッドにマウントします。 MongoDB Agent はこのシークレットを使用して、アプリケーション データベースのレプリカセットを構成します。マルチクラスター配置では、Kubernetes 演算子は、ノードクラスターのインデックス サフィックスを各アプリケーション データベースのステートメントセットに、
<om_resource_name>-db-<cluster-idx>の形式(例:om-db-1)を割り当てます。
Kubernetes Operator は
<om_resource_name>ステートメントを作成または更新します。 マルチクラスター配置では、Kubernetes Operator はノードクラスターのインデックス サフィックスを各ステートメントセットに<om_resource_name>-<cluster-idx>の形式(例:om-1)を割り当てます。ステートメントセットには、 MongoDB Ops Managerレプリカごとに 1 つのポッドが含まれます。 各 MongoDB Ops Manager レプリカは アプリケーション データベースに接続します。
MongoDBOpsManagerカスタムリソース へのほとんどの変更により、<om_resource_name>ステートメントセット内のポッドのローリング アップグレードがトリガーされます。アプリケーション データベースで TLS を有効にすると、アプリケーション データベースへの接続文字列が変更されるため、ローリング再起動もトリガーされます。spec.backupを変更しても、ローリング アップグレードはトリガーされません。Kubernetes Operator は、管理ユーザーを作成するためにMongoDB Ops Manager API を呼び出します。 Kubernetes Operator は、この管理ユーザーの認証情報を
<om_resource_name>-admin-keyシークレットに保存します。 Kubernetes Operator は、他のすべてのMongoDB Ops Manager API呼び出しにこれらの認証情報を使用します。 この調整ステップは、 Kubernetes Operator を使用して新しいMongoDB Ops Managerリソースを配置する場合に 1 回のみ発生します。 Kubernetes Operator は、 リソースを更新するときにこのステップをスキップします。Kubernetes Operator は、
<om_resource_name>-dbApplication Database StatefunctionSet 内のポッドのローリング アップグレードを実行し、 MongoDB Ops Managerがそれを監視できるようにします。 モニタリングはデフォルトで有効になっています。 この調整ステップは、新しいMongoDB Ops Managerリソースを配置する場合など、1 回だけ発生します。spec.backup.enabledがtrue の場合、Kubernetes Operator は<om_resource_name>-backup-daemonステートメントを作成するか、それが実行されていることを確認します。 バックアップデーモンは、 MongoDB Ops Managerの配置と同じアプリケーションデータベースに接続します。マルチクラスター配置では、Kubernetes Operator は、ノードクラスターのインデックス サフィックスを各バックアップデーモンのステートメントセットに、
<om_resource_name>-backup-daemon-<cluster-idx>の形式(例:om-backup-daemon-1)を割り当てます。spec.backup.enabledがtrue の場合、 Kubernetes Operator はMongoDB Ops Manager API を呼び出して、 MongoDB Ops Managerアプリケーションのバックアップ構成がカスタム リソース定義で定義したバックアップ構成と一致していることを確認します。