Docs Menu

MongoDBOpsManagerカスタム リソースの調整

次の図は、Kubernetes Operator がMongoDBOpsManager CustomResourceDefinition への変更を調整する方法を説明したものです。 (各ノード Kubernetes クラスター)。

Diagram describing how the MongoDB Enterprise Kubernetes
Operator reconciles changes to the MongoDBOpsManager
Custom Resource Definition on each member Kubernetes cluster.
クリックして拡大します
  1. Kubernetes Operator は<om_resource_name>-db-configシークレットを作成または更新します。 このシークレットには、MongoDB Agent がアプリケーション データベース レプリカセットを起動するために使用する構成が含まれています。

  2. Kubernetes Operator は、 <om_resource_name>-db Application 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 )を割り当てます。

  3. Kubernetes Operator は<om_resource_name>ステートメントを作成または更新します。 マルチクラスター配置では、Kubernetes Operator はノードクラスターのインデックス サフィックスを各ステートメントセットに<om_resource_name>-<cluster-idx>の形式(例: om-1 )を割り当てます。

    ステートメントセットには、 MongoDB Ops Managerレプリカごとに 1 つのポッドが含まれます。 各 MongoDB Ops Manager レプリカは アプリケーション データベースに接続します。

    カスタム リソース に対するほとんどの変更MongoDBOpsManagertrigger ステートメントセット内のポッドのローリング アップグレードを<om_resource_name> します。アプリケーション データベースで 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リソースを配置する場合に 1 回のみ発生します。 Kubernetes Operator は、 リソースを更新するときにこのステップをスキップします。

  5. Kubernetes Operator は、<om_resource_name>-db Application Database StatefunctionSet 内のポッドのローリング アップグレードを実行し、 MongoDB Ops Managerがそれを監視できるようにします。 モニタリングはデフォルトで有効になっています。 この調整ステップは、新しいMongoDB Ops Managerリソースを配置する場合など、1 回だけ発生します。

  6. spec.backup.enabledtrue の場合、Kubernetes Operator は<om_resource_name>-backup-daemonステートメントを作成するか、それが実行されていることを確認します。 バックアップデーモンは、 MongoDB Ops Managerの配置と同じアプリケーションデータベースに接続します。

    マルチクラスター配置では、Kubernetes Operator は、ノードクラスターのインデックス サフィックスを各バックアップデーモンのステートメントセットに、 <om_resource_name>-backup-daemon-<cluster-idx>の形式(例: om-backup-daemon-1 )を割り当てます。

  7. spec.backup.enabledtrue の場合、 Kubernetes Operator はMongoDB Ops Manager API を呼び出して、 MongoDB Ops Managerアプリケーションのバックアップ構成がカスタム リソース定義で定義したバックアップ構成と一致していることを確認します。