カスタム リソース の調整MongoDBOpsManager
次の図では、 Kubernetes OperatorMongoDBOpsManager
が各ノードのKubernetesクラスターで CustomResourceDefinition への変更を調整する方法を説明しています。
Kubernetes Operator は
<om_resource_name>-db-config
シークレットを作成または更新します。 このシークレットには、MongoDB Agent がアプリケーション データベース レプリカセットを起動するために使用する構成が含まれています。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
)を割り当てます。
Kubernetes Operator は
<om_resource_name>
ステートメントを作成または更新します。 マルチクラスター配置では、Kubernetes Operator はノードクラスターのインデックス サフィックスを各ステートメントセットに<om_resource_name>-<cluster-idx>
の形式(例:om-1
)を割り当てます。ステートメントセットには、 MongoDB Ops Managerレプリカごとに 1 つのポッドが含まれます。 各 MongoDB Ops Manager レプリカは アプリケーション データベースに接続します。
カスタム リソース に対するほとんどの変更
MongoDBOpsManager
trigger ステートメントセット内のポッドのローリング アップグレードを<om_resource_name>
します。アプリケーション データベースで TLS を有効にすると、アプリケーション データベースへの接続stringが変更されるため、ローリング再起動もトリガーされます。spec.backup
への変更によってローリング アップグレードはtriggerされません。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>-db
Application 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アプリケーションのバックアップ構成がカスタム リソース定義で定義したバックアップ構成と一致していることを確認します。