Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/
Kubernetes Operator 用のMongoDBドライバー
/ /

ConfigMap を使用してMongoDB配置ごとに 1 つのプロジェクトを作成

MongoDB Controls for Kubernetes Operator は、 Kubernetes ConfigMap を使用して、単一かつ一意の Ops Manager プロジェクト にリンクします。参照されたプロジェクトが存在しない場合、 Kubernetes Operator はprojectName ConfigMap で指定された に従ってそれを作成します。

Kubernetes Operator ConfigMap を作成するには、例ConfigMap YAMLファイルの数行を編集し、ConfigMap を適用します。完全な例を表示するには、プロジェクトの.YAMLファイル を参照してください。

あるいは、 MongoDB Cloud Manager UIまたはMongoDB Ops Manager UIを使用してプロジェクトを作成または選択し、ConfigMap YAML ファイルを自動的に生成し、 Kubernetes環境に適用できるようにすることもできます。

  1. 配置できる MongoDB リソースはプロジェクトごとに 1 つだけです。 この制限が適用されるのは、MongoDB Ops Manager がプロジェクトごとのデータベースユーザーのアクセスに対して 1 つの認証方法のみをサポートしているためです。 詳しくは、 MongoDB Database リソースの配置 」を参照してください。

  2. MongoDB Controls for Kubernetes Operator 配置を一意のMongoDB Ops Managerプロジェクトにペアにする必要があります。配置するMongoDB Controls for Kubernetes Operatorインスタンスごとに個別の ConfigMap を作成するか、ConfigMap から data.projectName を省略して、プロジェクト名が配置されたリソース名と一致するようにすることで、同じ ConfigMap を任意の数の配置で再利用することができます。コンフィギュレーション マップにプロジェクト名が指定されている場合、そのプロジェクトがまだ存在しない場合は作成されます。

重要

  • Kubernetes演算子を使用して、MongoDB Cloud ManagerMongoDB Ops Managerおよび バージョン6.0 .x 以降で リソースを配置できます。

  • Atlas 演算子を使用して、MongoDB リソースを Atlas に配置できます。

  • Kubernetesバージョン 1.11 以降、またはOpenShiftバージョン 3.11 以降。

  • Kubernetes Operator 用のMongoDBドライバーがインストールされました。

1

まだ作成していない場合は、次のコマンドを実行して、作成した名前空間ですべてのkubectlコマンドを実行します

注意

MongoDB Ops Manager リソースを複数の Kubernetes クラスター MongoDB 配置に配置している場合、次の手順に従います。

  • contextを中央クラスターの名前に設定します(例: kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"

  • MongoDB のマルチ配置に使用したのと同じスコープ(例: kubectl config --namespace "mongodb"--namespaceを設定します。

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
name: my-project
namespace: mongodb
data:
projectName: myProjectName # this is an optional parameter; when omitted, the Operator creates a project with the resource name
orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter
baseUrl: https://ops.example.com:8443
EOF
キー
タイプ
説明

metadata.name

string

Kubernetesオブジェクトの名前。

リソース名は 44 文字以下にする必要があります。

1123この名前は、小文字の英数字文字または- のみを含み、英数字の開始と末尾を含む RFC の命名規則に従う必要があります。

詳細については、 名前 に関するKubernetes のドキュメントを参照してください。

my-project

metadata.namespace

string

Kubernetes Operator がこのMongoDB リソースと他のオブジェクト を作成するKubernetes名前空間。

mongodb

data.projectName

string

MongoDB Ops Managerプロジェクトのラベル。

Kubernetes Operator は、 MongoDB Ops Managerプロジェクトが存在しない場合は、それを作成します。 projectNameを省略すると、Kubernetes Operator は Kubernetes リソースと同じ名前のプロジェクトを作成します。

または 組織で既存のプロジェクトを使用するには、Cloud Manager MongoDB Ops ManagerprojectNameAll ClustersまたはCloud ManagerMongoDB Ops Manager ページの左上にあるSearch {1 リンクをクリックし、次で名前を検索して、 を見つけます。 ボックスまたはスクロールして、リスト内の名前を見つけます。このリストの各カードは、1 つのCloud ManagerまたはMongoDB Ops Managerの組織プロジェクトの組み合わせを表します。

myProjectName

data.orgId

string

必須。 または 組織 を一意に識別する24 文字の 16stringCloud Manager MongoDB Ops Manager進 。

Kubernetes演算子を使用して、MongoDB Cloud ManagerMongoDB Ops Managerおよび バージョン6.0 .x 以降で リソースを配置できます。

Atlas 演算子を使用して、MongoDB リソースを Atlas に配置できます。

既存の組織を指定します:

  1. 組織の ID を見つけます。

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

  2. orgId をコピーして URL に貼り付けます。

    次のように、組織を選択し、ブラウザで現在のURLを表示し、 <orgId>プレースホルダーに表示される値をコピーします。

    https://ops.example.com:8443/ v2#/org/<orgId>/projects

既存の Cloud Managerまたは 組織内に新しいプロジェクトを作成するには、 組織プロジェクト作成者MongoDB Ops Manager ロールが必要です。

orgId として空のstringを指定すると、 Kubernetes Operator はプロジェクトと同じ名前の組織を作成します。

5b890e0feacf0b76ff3e7183

data.baseUrl

string

FQDN とポート番号を含む MongoDB Ops Manager アプリケーションへの URL 。

重要: を Operator で配置し、 MongoDB Ops Managerが配置先のKubernetes クラスターのMongoDB Ops Manager MongoDB外部 に配置された データベースリソースを管理する場合、Kubernetesdata.baseUrlspec.configuration.mms.centralUrl の 設定と同じ値に設定する必要があります。 のリソース仕様。MongoDB Ops Manager詳細については、「外部MongoDBデプロイの管理 」を参照してください。

Cloud Manager を使用している場合は、 data.baseUrlの値をhttps://cloud.mongodb.comに設定します。

https://ops.example.com:8443

3
kubectl describe configmaps <configmap-name>

このコマンドは、shell に ConfigMap の説明を返します。

Name: <configmap-name>
Namespace: <namespace>
Labels: <none>
Annotations: <none>
Data
====
baseUrl:
----
<myOpsManagerURL>
Events: <none>

MongoDB Ops Manager インスタンスで HTTPS を有効にするために、独自の TLS 証明書を使用することを選択した場合があります。カスタム証明書を使用した場合は、そのカスタム証明書に署名した CA を Kubernetes Operator に追加する必要があります。 カスタム CA を追加するには、次の手順を実行します。

1

Kubernetes Operator には、Ops Manager ホストの証明書を発行した CA のルート CA 証明書が必要です。次のコマンドを実行して、データベースポッドの同じ名前空間にルート CA を含む ConfigMap を作成します。

kubectl -n <metadata.namespace> create configmap <root-ca-configmap-name> \
--from-file=mms-ca.crt

重要

Kubernetes Operator では、ConfigMap でMongoDB Ops Managerリソースの証明書 mms-ca.crt に名前を付ける必要があります。

2
1---
2apiVersion: v1
3kind: ConfigMap
4metadata:
5 name: <my-configmap>
6 namespace: <my-namespace>
7data:
8 projectName: <my-ops-manager-project-name> # this is an optional parameter
9 orgId: <org-id> # this is a required parameter
10 baseUrl: https://<my-ops-manager-URL>
11 sslMMSCAConfigMap: <root-ca-configmap-name>
12 sslRequireValidMMSServerCertificates: ‘true’
13...
3
  1. 次のコマンドを呼び出して、デフォルトの構成済みエディターでプロジェクトの ConfigMap を編集します。

    kubectl edit configmaps <my-configmap> -n <metadata.namespace>
  2. プロジェクトの ConfigMap の最後に、例のConfigMap でハイライトされているセクションを貼り付けます。

4

次のTLSキーを変更します。

キー
タイプ
説明

sslMMSCAConfigMap

string

Ops Manager ホストの証明書に署名するために使用されるルート CA 証明書を含む最初のステップで作成された ConfigMap の名前。これにより、CA 証明書がKubernetes Operator とデータベースリソースにマウントされます。

my-root-ca

sslRequireValidMMSServerCertificates

ブール値

からの有効な TLS MongoDB Ops Manager証明書を要求するように演算子を強制します。

重要:値は一重引用符で囲む必要があります。そうしないと、 演算子はエラーをスローします。

'true'

5
6
kubectl describe configmaps <my-configmap> -n <metadata.namespace>

重要

kubectl名前空間オプションは常に-n と含めてください。 オプションを指定しない場合、kubernetes はデフォルトで空の名前空間になるため、デプロイは失敗します。<metadata.namespace> フィールドの値を指定する必要があります。 Kubernetes Operator、 secret 、およびMongoDB リソースは、同じ 一意の名前空間で実行する必要があります。

このコマンドは、shell に ConfigMap の説明を返します。

Name: <my-configmap>
Namespace: <namespace>
Labels: <none>
Annotations: <none>
Data
====
sslMMSCAConfigMap:
----
<root-ca-configmap-name>
sslRequireValidMMSServerCertificates:
----
true
Events: <none>

ConfigMap が作成されたので、 MongoDB リソースの配置 を開始する前 に、 Kubernetes Operator の認証情報を作成 します 。

戻る

認証情報の作成

項目一覧