アーキテクチャ、機能、および制限
項目一覧
制限
マルチ Kubernetes クラスター MongoDB 配置には次の制限があります。
MongoDBMultiCluster
リソースのレプリカセットのみを配置します。 シャーディングされたクラスターの配置はサポートされていません。MongoDB Ops Managerバージョン 5.0.7 以降を使用します。
Kubernetes シークレット のみを使用 シークレットストレージツール用。 HashiCorp Vault シークレットストレージツールはサポートされていません。
For deployments where the same Kubernetes Operator instance is not managing both the MongoDBOpsManager and MongoDB custom resources, you must manually configure KMIP backup encryption client settings in Ops Manager. 詳細については、「 KMIP バックアップ暗号化の手動構成 」を参照してください。
ServiceMongoDB を追加しないでください
MongoDBMultiCluster
リソースに渡す追加オプション。Kubernetes Operator は Prometheus との統合をサポートしていません。新しいマルチ Kubernetes クラスター MongoDB 配置を作成し、 MongoDB サポートに連絡して、既存の Kubernetes 配置からマルチ Kubernetes クラスター MongoDB 配置にデータを移行してください。 既存の単一 Kubernetes クラスターの配置を新しい Kubernetes クラスターに拡張することはできません。
マルチクラスター配置機能
このセクションでは、Kubernetes Operator を使用して配置された MongoDB リソースの単一クラスターの手順と同じ手順を使用して構成できるマルチ Kubernetes クラスター MongoDB 配置機能について説明します。 その他のマルチ Kubernetes クラスター MongoDB 配置機能には、このガイドに独自のドキュメントがあります。
DNS SRV レコードを使用した接続
ユーザーとして複数の Kubernetes クラスターのMongoDB配置データベースに接続するには、 connectionString.standardSrv
: DNS シードリスト接続stringを使用できます。 この string は、Kubernetes Operator がマルチ Kubernetes クラスター MongoDB 配置用に作成するシークレットに含まれています。 の複数の配置に接続する場合は、 Operator KubernetesMongoDBで配置された単一のクラスターと同じ手順を使用し 。Kubernetes「 Kubernetes 内から MongoDB データベース リソースに接続する」を参照し、[] タブ [ Using the Kubernetes Secretを選択します。
データベースユーザーのセキュリティの管理
データベースユーザーのセキュリティを管理するには、次の方法を使用します。
これらの手順は、次の例外を除いて、Kubernetes Operator で配置された単一クラスターの手順と同じです。
手順はレプリカセットにのみ適用されます。 マルチ Kubernetes クラスターMongoDB配置では、シャーディングされたクラスターの作成はサポートされていません。
mongodbResourceRef
で、マルチ Kubernetes クラスター MongoDB 配置レプリカセットの名前を指定しますname: "<my-multi-cluster-replica-set>"
。
単一クラスターのMongoDB Ops Managerリソースのクエリ可能なバックアップの設定
Operator MongoDB Ops Managerを使用して単一のKubernetes クラスターに インスタンスを配置すると、演算子をホストするクラスターによってKubernetesMongoDB Ops Manager もホストされる可能性があります。この場合は、 リソースの クエリ可能なバックアップを構成 MongoDB Ops Managerできます。クエリ可能なバックアップは、複数のMongoDB Ops Manager Kubernetesクラスターでの リソースの配置ではサポートされていません。
配置アーキテクチャと図
サービス メトリクスの有無にかかわらず、複数の Kubernetes クラスター MongoDB 配置を作成できます。 詳細については、「外部接続のプラン:サービス メッシュを使用する必要がありますか? 」を参照してください。
次の両方の図では、MongoDB Enterprise Kubernetes Operator はこれらのアクションを実行しています。
中央クラスターでの
MongoDBMultiCluster
リソース仕様の作成を監視します。マウントされた
kubeconfig
ファイルを使用してノードクラスターと通信します。MongoDB クラスター内のレプリカセット ノードの数に対応する各ノード クラスターに、ConfigMaps、Secrets、Services、StatulSet Kubernetes オブジェクトなどの必要なリソースを作成します。
対応する
MongoDBMultiCluster
リソース指定を使用して各 MongoDB レプリカセットを配置するためのクラスターを識別し、MongoDB レプリカセットを配置します。CentralCluster
MemberCluster
イベントと イベントを監視します。作成したリソースを調整して、マルチ Kubernetes クラスター MongoDB 配置が希望の状態であることを確認します。
を使用する複数の KubernetesクラスターMongoDB 配置は、 の 1MongoDBEnterprise Kubernetes Operator つの 中央クラスター と 1 つ以上のノードKubernetes クラスターで構成されています。
中央クラスターには、次のロールがあります。
MongoDB Enterprise Kubernetes Operator のホスト
MongoDB のマルチ Kubernetes クラスター配置のコントロール プレーンとして機能
MongoDB レプリカセットの
MongoDBMultiCluster
リソース仕様をホストしますを 演算子とともに配置する場合、 をホストしますMongoDB Ops ManagerMongoDB Ops ManagerKubernetes
MongoDB レプリカセット のノードもホストできます
重要
中央クラスターは、 演算子クラスター とも呼ばれます。 将来のリリースでは、中央クラスターへの参照は演算子クラスターを参照するように名前が変更される可能性があります。
メンバークラスターは MongoDB レプリカセットをホストします。
中央クラスター(オペレータークラスターとも呼ばれる)が失敗した場合、このクラスターへのアクセスを復元するまで、または Kubernetes Operator を使用可能な別の Kubernetes クラスターに再配置するまで、Kubernetes Operator を使用して配置を変更することはできません。 詳細については、「障害復旧 」を参照してください。
図: サービス メッシュを使用したマルチ Kubernetes クラスターの配置
次の図は、リージョンとアベイラビリティーゾーンにわたるマルチ Kubernetes クラスター MongoDB 配置の高レベルのアーキテクチャを示しています。 この配置では、 Istio などのサービス キャッシュが使用されます。 サービス メトリクス:
さまざまな Kubernetes ノード クラスターに配置された MongoDB ノードの検出を管理します。
レプリカセット メンバー間の通信を処理します。
アプリケーションは、次のようなサービス キャッシュ内の任意のノード クラスターでホストできます。
Kubernetes Operator で配置したクラスター以外の Kubernetes クラスター、または
MongoDB のマルチ Kubernetes クラスター配置のノードクラスター上。
図: サービス メッシュを使用しないマルチ Kubernetes クラスター配置
次の図は、リージョンとアベイラビリティーゾーンにわたるマルチ Kubernetes クラスター MongoDB 配置の高レベルのアーキテクチャを示しています。 この配置では、Ped と MongoDB インスタンスをホストする Kubernetes クラスター間の接続については、サービス キャッシュに依存しません。
個別の Kubernetes クラスターのポッドでホストされている MongoDB レプリカセット ノード間の外部通信を処理するには、外部ドメインと DNS ゾーンを使用します。
アプリケーションは、ノード クラスターのいずれかでホストできます。