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

シャードクラスタのKubernetesへの移行

この手順では、 Ops Manager またはCloud Managerが管理するシャーディングされたクラスターをKubernetes Operator の下のKubernetesに移行します。これは、 レプリカセットをKubernetesに移行する と同じライブのインクリメンタル 拡張プロモート プルーニング ワークフローを使用します。このページで説明されている違いを適用して、その手順に従います。このページではステップについて説明していない場合、レプリカセット の手順と同じように機能します。

重要

埋め込まれたコンフィギュレーションサーバーを持つシャーディングされたクラスターはサポートされていません。 Kubernetes Operator はこのトポロジーを検出し、インポートを拒否します。

spec.externalMembersmongodmongodシャーディングされたクラスターの場合、mongos はすべてのプロセスをカバーする単一の平面リストです。コンフィギュレーションサーバー 、各シャードの 、 ルーター。すべてのエントリは を設定し、すべてのspec.externalMembers[].type mongodエントリもspec.externalMembers[].replicaSetName を設定して、プロセスがコンフィギュレーションサーバーのレプリカセットに属するか、特定のシャードのレプリカセットに属するか識別します。完全なフィールド参照については、 「 MongoDB移行リソース設定 」を参照してください。

kubectl mongodb migrate-to-mckプラグインインは spec.configServerNameOverridespec.shardNameOverrides を設定するため、 Kubernetes Operator は新しいコンフィギュレーションサーバーとシャードレプリカセットを拡張します。また、プラグインは Kubernetes 側のノード数も 0 に設定します。

シャーディングされたクラスターは、次の 2 つの方法でKubernetesに拡張できます。

  • 均等に、コンポーネントごとのカウントspec.mongodsPerShardCountspec.configServerCountspec.mongosCount を引き上げます。すべてのシャードが同じ数のKubernetesノードを受け取る場合は、これを使用します。

  • シャードごとに、シャードを名前付けし、そのノード数を直接または で設定するspec.shardOverrides clusterSpecList[]エントリを使用します。これは、シャードのサイズが異なる場合、シャードをシャードごとに移行する場合、またはシャードに独自のノード 配置が必要な場合に使用します。

    注意

    spec.shardOverrides[].memberConfig エントリの最上位にある は無視されます。ネストされた spec.shardOverrides[].clusterSpecList[].memberConfig が適用されるドキュメントです。

    spec.shardOverrides(シャードごとの構成)とspec.shardNameOverrides (オートメーション構成レプリカセットの名前付け)とを混同しないでください。これら 2 つの設定は無関係です。

レプリカセットの手順と同様に、カウントを増加させる前に、関連するコンポーネント上のすべての新しいKubernetesノードに対して memberConfig を手動で記述します。

警告

ノード数を増やす前にspec.memberConfigを設定する

デフォルトでは、新しいKubernetesノードは投票ノードとして参加します。 CRD のデフォルトは votes: 1priority: "1" です。これでは、まだ同期中のノードが最初の同期 を完了する前に選挙に参加することができます。

MongoDB、ノード数を増加させる前に、新しいKubernetesノードごとに 1spec.memberConfig つのvotes: 0 priority: "0"エントリを書込むことを推奨します。これにより、同期中のノードは選挙で選出されなくなります。votes は整数です。priority は string です。

それぞれの命名パターンを使用して、コンポーネントごとに 1 つの証明書を発行します。コンフィギュレーションサーバーには <name>-config-*、各シャードには <name>-<i>-*mongos ルーターには <name>-mongos-* を使用します。

コンフィギュレーションサーバー、シャード、または mongos ルーターを拡張またはプルーニングするために、順序は必要ありません。一度に 1 つのコンポーネントのみを拡張またはプルーニングし、目的の状態を待ってから次のコンポーネントまたは次のエントリに移動します。

ステータス条件と理由は、すべてのコンポーネントにわたる上書き対応のノードの合計から計算された、レプリカセットの場合と同じように機能します。 kubectl wait --for=condition=Migrating=False はシャーディングされたクラスターの移行で有効です。

シャード ノードではなく、mongos ポッドを介して移行を確認します。