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

MongoDB プラグインに関する参考資料

kubectl mongodbプラグインを使用して次の操作を行います。

開始する前に、 kubetl MongoDBプラグイン をインストールしてください。

kubectl mongodbプラグインには次のサブコマンドがあります。

kubectl mongodb multicluster setupサブコマンドは、初期複数 Kubernetes クラスター MongoDB 配置を設定します。 次のアクションを実行します。

  • MongoDB のマルチ配置のすべてのノードクラスターを含む、 mongodb-kubernetes-operator-member-listという名前のデフォルトの ConfigMap を作成します。 この名前はハードコードされており、変更することはできません。 「既知の問題点 」を参照してください。

  • 演算子クラスターおよび各ノードクラスターで、ServiceAccounts、ロール、ClusterRoles、およびRoleBindings および ClusterRoleBindingsを作成します。

  • サービス アカウントに適切な権限を適用します。

  • 前述の設定を使用して、マルチ Kubernetes クラスター MongoDB 配置を作成します。

kubectl mongodbプラグインのsetupサブコマンドには次のオプションがあります。

オプション
データ型
説明

central-cluster

string

必須。 Kubernetes Operator が配置される中央クラスター(例: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME" 。

central-cluster-namespace

string

必須。 Kubernetes Operator が配置される名前空間(例: --central-cluster-namespace="mongodb" 。

cleanup

ブール値

任意。 名前空間を除くすべての以前に作成されたリソースを削除するかどうかを示すフラグ。 デフォルト値はfalseです。

cluster-scoped

ブール値

任意。 ノードクラスターの ClusterRole と ClusterRoleBinding を作成するかどうかを示すフラグ。 デフォルト値はfalseです。

create-service-account-secrets

ブール値

任意。 Kubernetes APIサーバーでサービス アカウントのシークレットを作成するかどうかを示すフラグ。デフォルト値はfalse です。

install-database-roles

ブール値

任意。 ノード クラスターで MongoDB ワークロードを実行するために必要なサービス アカウントとロールをインストールするかどうかを示すフラグ。 デフォルト値はfalseです。

image-pull-secrets

ブール値

任意。 kubectl mongodbプラグインが作成するサービス アカウントが、 registry.imagePullSecretsで指定したシークレットを参照するかどうかを示すフラグ 設定。 デフォルト値はfalseです。 詳しくは、「 Helm のインストール設定 」を参照してください。

member-clusters

string

必須。 メンバークラスターを含むカンマ区切りのリスト(例: -member-clusters="${MDB_CLUSTER_2_FULL_NAME}, ${MDB_CLUSTER_3_FULL_NAME}, ${MDB_CLUSTER_4_FULL_NAME}" 。

member-cluster-ca

string

任意。 Kubernetes Operator がノードクラスターのKubernetes APIサーバー にアクセスするために使用する PEM でエンコードされた CA--member-cluster-ca <member-cluster-name>=<path-to-pem-file> バンドルへのパス(形式は )。独自の CA バンドルを必要とするノード クラスターごとに、 オプションを 1 回繰り返します。ノードクラスターを省略すると、kubectl mongodb プラグインはそのクラスターのサービスアカウント トークンシークレットの CA を使用します。詳細については、「 ノード クラスターのカスタム CA バンドル 」を参照してください。

member-cluster-namespace

string

必須。 ノード クラスター リソースが配置される名前空間(例: -member-cluster-namespace="mongodb" 。

service-account

string

任意。 Kubernetes Operator がノード クラスターと通信するために使用するサービス アカウントの名前。 デフォルト値はmongodb-kubernetes-operator-multi-clusterです。

kubectl mongodbプラグインsetupサブコマンドの使用方法の完全な例については、マルチ Kubernetes クラスターのクイック スタート をご覧ください。

場合によっては、 kubectl mongodb multiclusterサブコマンドは、失敗したクラスター トポロジーを自動的に回復できます。 その他の場合は、 障害から手動で回復する必要があります。 詳細については、「障害復旧 」を参照してください。

kubectl mongodbプラグインのrecoverサブコマンドには次のオプションがあります。

オプション
データ型
説明

central-cluster

string

必須。 Kubernetes Operator が配置される中央クラスター(例: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME" 。

central-cluster-namespace

string

必須。 Kubernetes Operator が配置される名前空間(例: --central-cluster-namespace="mongodb" 。

cleanup

ブール値

任意。 名前空間を除くすべての以前に作成されたリソースを削除するかどうかを示すフラグ。 デフォルト値はfalseです。

cluster-scoped

ブール値

任意。 ノードクラスターの ClusterRole と ClusterRoleBinding を作成するかどうかを示すフラグ。 デフォルト値はfalseです。

member-cluster-ca

string

任意。 Kubernetes Operator がノードクラスターのKubernetes APIサーバー にアクセスするために使用する PEM でエンコードされた CA--member-cluster-ca <member-cluster-name>=<path-to-pem-file> バンドルへのパス(形式は )。独自の CA バンドルを必要とするノード クラスターごとに、 オプションを 1 回繰り返します。ノードクラスターを省略すると、kubectl mongodb プラグインはそのクラスターのサービスアカウント トークンシークレットの CA を使用します。詳細については、「 ノード クラスターのカスタム CA バンドル 」を参照してください。

kubectl mongodbプラグインrecoverサブコマンドの使用法の完全な例については、手動障害復旧手順 を参照してください。

デフォルトでは 、kubectl mongodb プラグインは各ノードクラスターの CA をそのクラスターのサービスアカウント トークンシークレットから読み取り、それを生成されたmongodb-enterprise-operator-multi-cluster-kubeconfig シークレットに書き込みます。場合によっては、カスタム CA バンドルを提供する必要があります。例、 Kubernetes Operator からノードクラスターのKubernetes APIサーバーへのネットワーク パスが、独自の証明書を提示するプロキシやロードバランサーなどの他の場所で TLS を終了する場合です。カスタムmember-cluster-ca CA バンドルを指定するには、 オプションを使用します。

次のコマンドは、3 つのノードのうち 2 つのノードの CA バンドルを提供します。

kubectl mongodb multicluster setup \
--central-cluster="operator-cluster" \
--member-clusters="cluster-1,cluster-2,cluster-3" \
--member-cluster-namespace=mongodb \
--central-cluster-namespace=mongodb \
--member-cluster-ca cluster-1=/path/to/cluster-1-ca.pem \
--member-cluster-ca cluster-2=/path/to/cluster-2-ca.pem

上記の例では、cluster-3 は CA のサービス アカウント トークン シークレットを保持します。

kubectl mongodbプラグインは、ファイルの内容を変更せずに KubeConfig シークレットにコピーするため、証明書のみを渡します。各ファイルは、次の要件を満たしている必要があります。

  • PEM でエンコードされた証明書が少なくとも 1 つ含まれます。

  • 秘密キーは含まれません。 TLS タームがエクスポートするバンドルには、証明書の横にサーバーキーが配置される場合があります。プラグインは、このようなバンドルをエラー found a private key (<block type> block), pass certificates only で拒否します。

このプラグインは、不正な <member-cluster-name>=<path-to-pem-file> ペアを渡したり、member-clusters がリストしていないノードクラスターに名前を付けたり、同じノードクラスターに複数回名前を付けたりした場合にもエラーを返します。

setup サブコマンドと recover サブコマンドはどちらも KubeConfig シークレット全体を再生成します。後での実行で member-cluster-ca からノードクラスターを省略すると、そのクラスターはサービス アカウント トークン シークレットから CA に戻ります。カスタム CA を保持するには、いずれかのサブコマンドを実行するたびに、必要なノードごとに member-cluster-ca オプションを再渡します。

ノードクラスターのサービスアカウントトークンシークレットと一致しない CA がサブコマンドに置き換えられると、プラグインは次のような警告を出力します。

Warning: replacing the CA for member cluster cluster-1, which does not match its ServiceAccount token secret. Pass --member-cluster-ca cluster-1=<path-to-pem-file> to keep a custom CA.

この警告は助言です。サブコマンドは引き続き完了し、新しい Kubernetes シークレットを書込みます。