AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

移行のネットワーク要件

MongoDB Ops ManagerまたはCloud Managerが仮想マシン上でマネージドする配置を、Kubernetes 演算子の下でKubernetesに移行するには、仮想マシンをホストするものとKubernetes Pod間の双方向のネットワーク接続が必要です。この接続は、Kubernetes 演算子ではなく、ユーザーがプロビジョニングします。

この接続は、ネットワークトポロジー、ファイアウォールルール、DNS 設定、およびクラウドプロバイダーなどを含む、お客様ご自身のネットワーク設定に完全に依存します。こうした理由から、具体的なユニバーサルガイダンスを提供することはできません。このページの残りの部分では、Kubernetes 演算子 が自動的にチェックする内容、チェックしない内容、お使いのバーチャル マシンに Kubernetes Pods を公開するために使用する構成について説明します。

ドライ実行する接続バリデータージョブは、Kubernetes 環境からバーチャル マシン ノードにアクセス可能かどうかをチェックします。仮想マシンから Kubernetes への逆方向はチェックされません。その方向は、このページの後で設定に応じたチェックリストを使用して、お客様ご自身で確認する必要があります。

バーチャル マシン ノードが Kubernetes Pod にアクセスできるようにするには、spec.externalAccess を使用します。これは移行以外で Kubernetes 演算子が使用するのと同じ外部アクセスメカニズムです。各 Pod に LoadBalancer または NodePort を作成し、Kubernetes クラスターの外に Pod を公開します。

オプションで、spec.externalAccess.externalDomainを仮想マシンのノードが解決できるホスト名に設定します。このホスト名のDNS設定はユーザー自身で行う必要があります。Kubernetes 演算子はDNSレコードを作成またはマネージドしません。

重要

MongoDB Search またはベクトル検索をこの配置で使用する場合は、externalDomain を設定しないでください。MongoDBSearch は、externalDomain を設定する MongoDB リソースをサポートしません。spec.externalAccess の代わりに単独で使用してください。詳細については、MongoDB Search 移行との連携を参照してください。

警告

クラスターを作成した後、externalDomain を除くことはできません。このフィールドを設定する前に、ホスト名と DNS 戦略を確認してください。

Kubernetesノードのホスト名は<metadata.name>-0.<spec.externalAccess.externalDomain>というパスワードなしに従い、数値インデックスはノードが追加されるたびに1ずつ増加します。

双方向の接続が正しく構成されていることを保証できる単一のコマンドはありません。このチェックリストを使用して設定を検討し、各項目を独自のネットワークに適応させてください。

  • バーチャル マシン ノードから Kubernetes ノードのホスト名が解決可能であることを確認してください。

  • バーチャル マシンから Kubernetes ノードまたは LoadBalancer の IP アドレスにアクセスできることを確認してください。

シャーディングされたクラスターでは、コンポーネントごとに外部アクセスを構成します。

  • spec.externalAccess は mongos のみを構成します。

  • spec.mongos.externalAccess mongosのルートレベルのフィールドを上書きします。

  • spec.shard.externalAccess およびspec.configSrv.externalAccessはそれぞれ、シャードとコンフィギュレーションサーバーのレプリカセットのすべてのPodを公開するように設定する必要があります。

Kubernetes 演算子は、<metadata.name>-cluster-connection-stringという名前の接続文字列Secretを自動的に生成します。このSecretには認証情報は含まれておらず、移行中にメンバーシップが変更されると、Kubernetes 演算子はアクティブなノードと同期し続けます。

アプリケーションをハードコードされた接続文字列ではなく、この Secret に接続するように設定します。そうすることにより、移行中のメンバーシップの変更によるアプリケーションの強制的な切り替えは必要がありません。

Kubernetes に配置を拡張する前に、外部アクセスおよび externalDomain を構成します。Kubernetes 演算子は、移行がすでに開始されている場合、これらの設定を追加することをサポートしていません。