制限
マルチ Kubernetes クラスター MongoDB 配置には次の制限があります。
MongoDB Ops Managerバージョン 5.0.7 以降を使用します。
Kubernetes シークレット のみを使用 シークレット ストレージ ツール用。HashiCorp Vault シークレット ストレージ ツールはサポートされていません。
同じKubernetes OperatorインスタンスがMongoDPOpsManager とMongoDBカスタム リソースの両方を管理していない配置の場合は、Ops Manager で KMIPバックアップ暗号化クライアント設定を手動で構成する必要があります。詳細については、「 KMIP バックアップ暗号化の手動構成 」を参照してください。
Don't add a ServiceMonitor to your
MongoDBMultiClusterresources. The Kubernetes Operator doesn't support integration with Prometheus.新しいマルチ Kubernetes クラスター MongoDB 配置を作成し、 MongoDB サポートに連絡して、既存の Kubernetes 配置からマルチ Kubernetes クラスター MongoDB 配置にデータを移行してください。 既存の単一 Kubernetes クラスターの配置を新しい Kubernetes クラスターに拡張することはできません。
マルチクラスター配置機能
このセクションでは、Kubernetes Operator を使用して配置された MongoDB リソースの単一クラスターの手順と同じ手順を使用して構成できるマルチ Kubernetes クラスター MongoDB 配置機能について説明します。 その他のマルチ Kubernetes クラスター MongoDB 配置機能には、このガイドに独自のドキュメントがあります。
DNS レコードによる接続
To connect to the multi-Kubernetes cluster MongoDB deployment database as a user, you can use the connectionString.standardSrv: DNS seed list connection string. This string is included in the secret that the Kubernetes Operator creates for your multi-Kubernetes cluster MongoDB deployment. Use the same procedure for connecting to the multi-Kubernetes cluster MongoDB deployment as for single clusters deployed with Kubernetes Operator. See Connect to a MongoDB Database Resource from Inside Kubernetes and select the tab 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 Controls for Kubernetes Operator がこれらのアクションを実行しています。
演算子クラスター内の
MongoDBMultiClusterリソース仕様の作成を監視します。マウントされた
kubeconfigファイルを使用してノードクラスターと通信します。MongoDB クラスター内のレプリカセット ノードの数に対応する各ノード クラスターに、ConfigMaps、Secrets、Services、StatulSet Kubernetes オブジェクトなどの必要なリソースを作成します。
対応する
MongoDBMultiClusterリソース指定を使用して各 MongoDB レプリカセットを配置するためのクラスターを識別し、MongoDB レプリカセットを配置します。CentralClusterMemberClusterイベントと イベントを監視します。作成したリソースを調整して、マルチ Kubernetes クラスター MongoDB 配置が希望の状態であることを確認します。
MongoDB Controls for Kubernetes Operator を使用する複数の Kubernetes クラスター MongoDBデプロイは、 Kubernetesの 1 つの演算子クラスターと 1 つ以上のノード クラスターで構成されます。
演算子クラスターには、次のロールがあります。
Kubernetes Operator 用のMongoDB Controls のホスト
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 ゾーンを使用します。
アプリケーションは、ノード クラスターのいずれかでホストできます。