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

ドライバーによる移行の準備状況の検証

kubectl mongodbプラグインは、配置をKubernetesに移行するために生成されるリソースに常に mongodb.com/migration-dry-run: true アノテーションを追加します。この注釈が存在している間は、 Kubernetes Operator はオートメーション構成の変更を行いません。接続と認証情報のみを検証するため、 Kubernetes Operator が配置の所有権を取得する前に、必要な回数だけ問題を修正し再実行することができます。

  • Kubernetes Operator は、MongoDBリソースごとに 1 つのジョブを作成し、<resourceName>-connectivity-check という名前を作成します。ジョブはすべての外部メンバーを呼び出し、それに対して認証を行います。 ttlSecondsAfterFinished を使用してそれ自体を削除し、次の調整時にそれが再作成されるため、修正後の再検証は自動的に行われます。手動でトリガーする必要はありません。

  • ドライバーは、Kubernetes から仮想マシンへの到達性(DNS、TLS、ファイアウォール、ノード アドレス)と認証情報(localデータベースの __system ロール、および TLS が有効になっている場合は CA を含む)をチェックします。

  • ドライバーは、仮想マシンと Kubernetes 間のインバウンド接続をチェックしません。その方向を確認するには、配置の Ops Manager UIモニタリングrs.status() ステータスを使用するか、仮想マシン ノードから を実行中てKubernetesポッドに到達できることを確認します。

  • プラグインとKubernetes Operator のバージョン チェックは、ドライバー の注釈が存在するかどうかに関係なく実行されます。

1

ドライバーによる注釈が設定されたままの状態で、MongoDB カスタムリソースを適用します。 Kubernetes Operator は <resourceName>-connectivity-check ジョブを作成し、status.phaseNetworkConnectivityVerified 条件を通じて進行状況を報告します。

ジョブの実行中に、status.phaseConnectivityCheckRunning を読み取ります。

2

status.conditions[type=NetworkConnectivityVerified] を読み取る:

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

ジョブはまだ実行中

Unknown

Running

The status.phase is ConnectivityCheckRunning.

0

True

NetworkValidationPassed

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

2

False

AuthenticationFailed

Credentials, the authentication mechanism, or a missing __system@local role.

3

False

NetworkFailed

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

1 またはその他

False

UnknownError

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

Failures that occur before the Job starts use the reasons OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed, and AgentCertSubject.

Kubernetes Operator removes the NetworkConnectivityVerified condition from status.conditions entirely once no external members remain.

3

必要に応じて、 Kubernetesまたは Ops Manager UIの接続または認証情報の問題を修正します。を削除したり再適用したりする必要はありません。次回の調整時に検証ジョブが自動的に再作成されます。

ドライバーの実行が停止したと思われる場合は、<resourceName>-connectivity-check ジョブを削除してください。次の調整では、それが再作成されます。

Kubernetes演算子 ServiceAccountbatch/jobsRBAC が付与されていない場合は、ジョブが最初に作成されなくなるため、その場合、条件やジョブはまったく表示されません。ジョブが開始される前に発生する障害は、上記表の終了コード理由の代わりに、OperatorImageUnknownBuildStatefulSetOptionsAgentCertSecretFailed、または AgentCertSubject の理由として表示されます。

4

NetworkConnectivityVerified 条件が True で理由 NetworkValidationPassed の場合は、注釈を削除します。

kubectl annotate mdb <resourceName> \
mongodb.com/migration-dry-run-

重要

ドライバーが注釈を削除する点で、 Kubernetes Operator は Ops Manager またはCloud Managerプロジェクトの所有権を取得します。先ほど検証した接続と認証情報の状態が返されない点として扱います。