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

MongoDB移行リソース設定

重要

このページの設定は、 Kubernetes Operator の下で自己管理型配置のKubernetesへの移行をサポートするために存在します。移行 を伴う なしでKubernetesに直接配置する MongoDBリソースにはこれらを設定 しないでください 。

MongoDBこのページでは、自己管理型、仮想マシン配置からKubernetesへの移行中にのみ適用される リソースフィールド、ステータス条件、注釈が記載されています。MongoDB リソース設定の完全なセットについては、 「 MongoDB Database リソース仕様 」を参照してください。

これらのフィールドは、移行がKubernetesに拡張されるソース仮想マシンまたは必要最低限のプロセスを識別します。これらは MongoDBリソース、apiVersion: mongodb.com/v1 に適用されます。

重要

これらのフィールドは移行のためだけに存在します。 Kubernetes配置のMongoDBリソースではこれらを設定しないでください。

spec.externalMembers

Type: array of ExternalMember objects

移行の一部である仮想マシンまたは必要最低限のソース プロセス。このフィールドは、移行のためだけに存在します。

このリストからエントリを削除することもできますが、移行が開始された後はエントリを 追加しない でください。空の spec.externalMembers リストは、移行が完了したことを意味します。

spec.externalMembers[].processName

: string

必須

このフィールドは、移行のためだけに存在します。オートメーション構成の processes 配列に表示される正確なプロセス名。

spec.externalMembers[].hostname

: string

必須

このフィールドは、移行のためだけに存在します。オートメーション構成に表示される、プロセスの host:port 値。

spec.externalMembers[].type

タイプ:列挙:mongod またはmongos

シャーディングされたクラスターに必要

このフィールドは、移行のためだけに存在します。レプリカセットには mongod の外部ノードのみが含まれます。

spec.externalMembers[].replicaSetName

: string

任意

このフィールドは、移行のためだけに存在します。シャーディングされたクラスターの mongod 外部ノードに必要です。プロセスがコンフィギュレーションサーバー のレプリカセットに属するか、特定のシャードのレプリカセットに属するかを識別します。

これらのフィールドは移行専用に存在し、 Kubernetes Operator が使用または生成するリソースまたはオートメーション構成名を上書きします。

spec.replicaSetNameOverride

: string

このフィールドは、移行のためだけに存在します。 Kubernetesリソース名と異なる場合、またはオートメーション構成レプリカセット名が有効なKubernetes名でない場合の、オートメーション構成レプリカセット名。 kubectl mongodb migrate-to-mckプラグインは、--resource-name-override フラグを通じてこのフィールドを設定します。

spec.configServerNameOverride

: string

このフィールドは、移行のためだけに存在します。オートメーション構成に表示されるコンフィギュレーションサーバーのレプリカセット名。

spec.shardNameOverrides

Type: array of ShardNameOverride objects

このフィールドは、移行のためだけに存在します。シャードごとのオートメーション構成のレプリカセット名とシャード _id

注意

spec.shardNameOverridesspec.shardOverridesspec.shardOverrides を混同しないでください。 はシャードごとのリソース設定を構成するため、移行の名前付けとは無関係です。

Kubernetes StatefulSet 名は、これらのオーバーライドの影響を受けません。

Kubernetes Operator では、以前はこれらのオートメーション構成設定がハードコードされていました。移行には、 Kubernetes の配置がソース仮想マシンですでに使用されているパスと一致するように、これらが構成可能である必要があります。

spec.downloadBase

: string

デフォルト: /var/lib/mongodb-mms-automation

MongoDB Agent がエージェントのバイナリをダウンロードするディレクトリ。 Kubernetes Operator は、この設定からキーファイル パスを <downloadBase>/keyfile として生成します。

spec.security.tls.caFilePath

: string

デフォルト: /mongodb-automation/tls/ca/ca-pem

Kubernetes Operator が ポッド内に CA 証明書をプロジェクションする絶対パス。このパスには、少なくとも 2 つのパス セグメントが含まれている必要があります。アプリケーション データベースではサポートされていません。

注意

ポッド テンプレートがこのパス以上にボリュームをマウントしている場合、そのマウントはプロジェクションされた CAファイルをシャドウできます。カスタム値を設定する前に、podTemplate ボリューム マウントを確認してください。

spec.security.authentication.agents.autoPEMKeyFilePath

: string

データベースポッド内のMongoDB Agent の結合された PEMファイルの絶対パス。このフィールドを設定すると、MongoDB Ops Manager またはCloud Managertls.autoPEMKeyFilePath の 値が設定され、そのパスにspec.security.authentication.agents.clientCertificateSecretRef が参照するシークレットがマウントされます。

spec.security.authentication.agents.clientCertificateSecretRef が必要です。

Kubernetes Operator が非移行配置に使用するハッシュ生成エージェント証明書マウント パスにデフォルト設定されます。

status.conditions

Type: array of Kubernetes Conditions

標準のKubernetes条件(キーは type)。このフィールドはMongoDBリソースの新機能であり、移行 をサポートしています。

status.conditions[type=Migrating]

タイプ: Kubernetes条件

移行がアクティブかどうかの最上位インジケーター。statusTrue spec.externalMembersですが、False MigrationCompleteは空でないため、最後の外部ノードを削除すると理由 により に変わります。

理由
ステータス
意味

Validating

True

ドライバーによる注釈が設定されています。

Extending

True

目的のKubernetesノード数が最後に調整された数を超えています。

Pruning

True

externalMembers のカウントは status.migrationObservedExternalMembersCount を下回りました。

InProgress

True

外部メンバーは存在しますが、変更はありません。これは、最初の調整の理由でもあります。

MigrationComplete

False

すべての外部メンバーが削除されました。

優先順位は Validating > です。 Extending> Pruning> InProgress。 Kubernetesサイドも生成するプルーニングが Extending と報告する

同時にプルーニングと拡張は許可されていません。

移行完了をスクリプトするには、status.phase をポーリングするのではなく kubectl wait --for=condition=Migrating=False を使用します。

status.conditions[type=NetworkConnectivityVerified]

Type: Kubernetes condition

ドライバーで実行された接続チェックの結果。外部ノードがなくなると、 Kubernetes Operator はこの条件を status.conditions から完全に削除します。

バリデータージョブ終了コード
状態
理由
意味

ジョブはまだ実行中

Unknown

Running

status.phaseConnectivityCheckRunning です。

0

True

NetworkValidationPassed

すべての外部ノードはアクセス可能であり、認証されます。

2

False

AuthenticationFailed

認証情報、認証メカニズム、または欠落している __system@local ロール。

3

False

NetworkFailed

DNS、TLS、タイムアウト、または到達不能なノード。ジョブ ポッド ログを確認します。

1 またはその他

False

UnknownError

クラス化されていない障害。ジョブ ポッド ログを確認します。

ジョブが開始される前に発生する失敗には、OperatorImageUnknownBuildStatefulSetOptionsAgentCertSecretFailedAgentCertSubject という理由が使用されます。

Kubernetes Operator は、外部ノードがなくなると、status.conditions から NetworkConnectivityVerified 条件を完全に削除します。

status.migrationObservedExternalMembersCount

タイプ: 整数

spec.externalMembersKubernetes Operator が前回の調整時に監視した エントリの数。 Kubernetes Operator は、次回の調整時にこの値を現在のspec.externalMembers カウントと比較して、外部ノードをプルしたことを検出します。このフィールドは、外部ノードが存在しない場合、設定されません。

注意

このフィールドは、 Go構造体埋め込みの副作用として、MongoDBOpsManager カスタムリソーススキーマにも表示されます。 MongoDBOpsManagerリソースでは、フィールドは常に null です。その場合は無視します。

metadata.annotations.mongodb.com/migration-dry-run

タイプ: string(ブール値値)

kubectl mongodb migrate-to-mckプラグインは、この注釈を true に設定します。この注釈が存在している間は、 Kubernetes Operator はオートメーション構成の変更を行わず、接続の検証のみを実行します。注釈を削除すると、実際の移行が開始されます。

metadata.annotations.mongodb.com/migrate-tool-version

: string

リソースを生成した kubectl mongodb migrate-to-mckプラグインのバージョンを記録します。 Kubernetes Operator は、ドライバーの実行中など、すべての調整でこの注釈を独自のバージョンに対して検証します。

次の既存の MongoDBリソースフィールドは移行専用ではありませんが、移行中に特定の値または確認が必要です。

  • spec.membersspec.mongodsPerShardCount 、 、spec.configServerCount はすべて、spec.mongosCount 0kubectl mongodb migrate-to-mckプラグインが生成するリソースの から開始されます。

  • spec.memberConfig[].votes (整数、デフォルトでは1 )とspec.memberConfig[].priority (浮動小数点数を含む string、デフォルトでは"1" )。少なくとも と同じ数の エントリを提供する必要があります。spec.memberConfig spec.membersKubernetes Operatorspec.memberConfig は、シャーディングされたクラスターの最上位の を無視します。 プラグインはkubectl mongodb migrate-to-mck spec.memberConfigを生成せず、 Kubernetes Operator は新しいノードをデフォルトで非投票にしないため、新しいノードの同期中は CRD のデフォルトである と1 "1"は完全にエラーとなります。

    警告

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

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

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

  • spec.versionソース配置と完全に一致する必要があるフィールドは、 、 、spec.featureCompatibilityVersionspec.additionalMongodConfig.net.port spec.security.authentication.modesspec.security.authentication.internalCluster です。