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

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

項目一覧

  • Considerations
  • 前提条件
  • コンフィギュレーションマップを使用して 1 つのプロジェクトを作成
  • カスタム CA を使用した HTTPS 対応のMongoDB Ops Managerへの接続
  • 次のステップ

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

Kubernetes Operator ConfigMap を作成するには、サンプル ConfigMap YAMLファイルの数行を編集し、ConfigMap を適用します。 完全な例については、 project.YAML ファイル。

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

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

  2. MongoDB Enterprise Kubernetes Operatorの配置を一意のMongoDB Ops Managerプロジェクトにペアで配置する必要があります。 配置する MongoDB Enterprise 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 以降。

  • MongoDB Enterprise Kubernetes Operator バージョン 0.11 以降がインストールされている。

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 名前空間 Kubernetes Operator がこのMongoDB リソースと他の オブジェクト を作成する 。

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

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

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

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

my-root-ca

sslRequireValidMMSServerCertificates

ブール値

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

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

'true'

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

重要

名前空間オプションは常にkubectlと含めてください。 kubernetes -nオプションを指定しない場合、 では空の名前空間がデフォルトで設定されるため、配置が失敗します。<metadata.namespace>フィールドの値を指定する必要があります。 Kubernetes 演算子、 シークレット 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 の認証情報を作成 します 。

戻る

認証情報の作成