Docs Menu
Docs Home
/
MongoDB Enterprise Kubernetes 演算子
/ /

Kubernetes 内から MongoDB Database リソースへの接続

次の手順では、Kubernetes クラスターの内部から Kubernetes によって配置された MongoDB リソースに接続する方法について説明します。

You must be able to connect to the host and port where you deployed your Kubernetes resource. 配置への接続の詳細については、「 MongoDB プロセスへの接続 」を参照してください。

配置用の接続コマンドを取得して実行します。接続コマンドは、クラスターがホストされている場所に応じて、 Ops Manager または Cloud Manager アプリケーションから取得できます。 Kubernetes secret から接続コマンドを取得することもできます これは、 認証MongoDB または X を持つ MongoDB ユーザーを 追加するときに、 Kubernetes Operator が自動的に作成するものです。509

MongoDB Database リソースに接続する手順は、 接続stringの取得方法によって異なります。

クラスターがホストされている場所に応じて、 MongoDB Ops ManagerまたはCloud Managerアプリケーションで次の手順を実行します。

1

左側のナビゲーションで [ Deployment ] をクリックします。

2
3
4
5

{0 という名前のシャーディングされたクラスターshardedcluster リソースに接続するには、次の接続string を使用します。

mongosh --host shardedcluster-mongos-0.shardedcluster-svc.mongodb.svc.cluster.local \
--port 27017

Kubernetes 内からリソースに接続する場合、接続先のホスト名の形式は次のとおりになります。

<k8s-pod-name>.<k8s-internal-service-name>.<k8s-namespace>.<cluster-name>

新しい MongoDB データベースユーザーを作成すると、Kubernetes Operator は新しい Kubernetes シークレット を自動的に作成します。 。Kubernetes シークレット には、新しいデータベースユーザーに関する次の情報が含まれています。

  • username: データベースユーザーのユーザー名

  • password: データベースユーザーのパスワード

  • connectionString.standard: このデータベース ユーザーとしてデータベースに接続できる標準接続string

  • connectionString.standardSrv: このデータベースユーザーとしてデータベースに接続できるDNS シード リスト接続string

注意

あるいは、spec.connectionStringSecretNameMongoDB ユーザー リソース仕様 で任意の フィールドを指定して、string KubernetesOperator が作成する接続 シークレットの名前を指定することもできます。

次の手順を実行して認証情報を表示し、接続stringを使用してMongoDBに接続します。

1

シークレット を表示するには、ターミナルで次のコマンドを実行します。 、 変数を表内の値に置き換えます。

プレースホルダー
説明
{MongoDB リソース名}
MongoDB リソースを識別する、人間が判読できるラベル。
{ユーザー名}
MongoDB ユーザーを識別する、人間が判読可能なラベル。
kubectl get secret {MongoDB-Resource-Name}-{User-Name}-admin -o jsonpath='{.data}'

このコマンドがエラーを返した場合は、 シークレット の名前を確認できます 次のコマンドを実行し、正しい名前を取得します。

kubectl get secrets
2
3

配置に接続するには、接続string内の connectionString.standard 値を使用します。

mongosh {connectionString.standard}
4

ポッドにシークレットをマウントできます アプリケーションが認証情報にアクセスできることを確認します。

戻る

接続