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

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

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

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

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

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

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

オプション
データ型
説明

central-cluster

string

必須。Kubernetes 演算子が配置される中央クラスター(例: --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演算子がノードクラスターのKubernetes APIサーバーに到達するために使用するPEMエンコードされたCAバンドルへのパス(形式は--member-cluster-ca <member-cluster-name>=<path-to-pem-file>)。独自のCAバンドルを必要とするノードクラスターごとに、このオプションを繰り返します。ノードクラスターを省略した場合、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 演算子が配置される中央クラスター(例: --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演算子がノードクラスターのKubernetes APIサーバーに到達するために使用するPEMエンコードされたCAバンドルへのパス(形式は--member-cluster-ca <member-cluster-name>=<path-to-pem-file>)。独自のCAバンドルを必要とするノードクラスターごとに、このオプションを繰り返します。ノードクラスターを省略した場合、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 シークレットにコピーするため、証明書のみを渡してください。各ファイルは、次の要件を満たしている必要があります。

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

  • 秘密キーを含みません。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 を保持するには、いずれかのサブコマンドを実行するたびに、カスタム 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.

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