Operator を使用して、 MongoDB Ops Managerを コンテナのリソースとして配置できます。KubernetesKubernetes
Considerations
次の考慮事項が適用されます。
接続の暗号化
MongoDB Ops Managerの配置を構成するときは、 HTTPS 経由で接続を実行するか、 HTTP経由で接続を実行するかを選択する必要があります。
次のHTTPS手順を参照してください。
アプリケーションとの間で、 TLSMongoDB Ops Manager で暗号化された接続を確立します。
アプリケーション データベースのレプリカセット メンバー間でTLS暗号化された接続を確立します。
TLS暗号化の有効な証明書が必要です。
次のHTTP手順を参照してください。
MongoDB Ops Managerアプリケーションとの間の接続を暗号化しません。
アプリケーション データベースのレプリカセット ノード間の接続を暗号化しません。
セットアップ必要なセットアップの数が少なくなります。
HTTPS 経由 で実行する場合、MongoDB Ops Manager はデフォルトでポート {28443
で実行されます。
TLSを使用して MongoDB Ops Manager とアプリケーション データベースの接続を暗号化するかどうかに応じて、適切なタブを選択します。
前提条件
アプリケーション データベースの レプリカセット に対して 1 つの TLS 証明書を作成します。
このTLS証明書には次の属性が必要です。
DNS 名
キーの用途
TLS 証明書に次のキー使用状況が含まれていることを確認します(5280 )。
"server auth"
"client auth"
重要
Kubernetes Operator は kubernetes.io/tls シークレット を使用して、Ops Manager およびMongoDBリソースの TLS 証明書と秘密キーを保存します。 Kubernetes Operator1 17バージョン..0 以降、 Kubernetes Operator は Opaque シークレットとして保存される連結 PEM ファイルをサポートしていません。
MongoDB Ops Manager リソースを配置する前に、 MongoDB Ops ManagerリソースのMongoDB Ops Managerを立ててください。
前提条件を完了する
手順
この手順は、単一のMongoDB Ops Manager Kubernetesクラスターに インスタンスを配置する場合と、マルチクラスター配置の演算子クラスターにMongoDB Ops Manager を配置する場合に適用されます。複数のMongoDB Ops Manager KubernetesKubernetesMongoDB Ops Manager Kubernetesクラスターに の複数のインスタンスを配置する場合は、「 複数の クラスターに リソースを配置する 」を参照してください。
次の手順に従って、 MongoDB Ops ManagerリソースをHTTPS 経由で実行し、 TLSを使用してアプリケーション データベースを保護します。
kubectl
をデフォルトで名前空間に設定します。
まだ作成していない場合は、次のコマンドを実行して、作成した名前空間ですべての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>
証明書のシークレットを作成します。
HashiCorp Vault を シークレットストレージツール として使用している場合は、代わりに Vault シークレットを作成 できます。
シークレット ストレージのオプションの詳細については、「シークレット ストレージの構成 」を参照してください。
TLS 証明書と秘密キーが取得できたら、次のコマンドを実行して、Ops Manager の TLS 証明書を保存するシークレットを作成します。
kubectl create secret tls <prefix>-<metadata.name>-cert \ --cert=<om-tls-cert> \ --key=<om-tls-key> 次のコマンドを実行して、アプリケーションデータベースの TLS 証明書を保存する新しいシークレットを作成します。
kubectl create secret tls <prefix>-<metadata.name>-db-cert \ --cert=<appdb-tls-cert> \ --key=<appdb-tls-key>
カスタム CA 証明書に追加の証明書を追加します。
Ops Manager TLS 証明書がカスタム CA によって署名されている場合、CA 証明書には、Ops ManagerバックアップデーモンがMongoDBバイナリをインターネットからダウンロードできるようにする追加の証明書も含まれている必要があります。 TLS 証明書を作成するには、CA 証明書を保持するための ConfigMap を作成します。
重要
Kubernetes Operator では、ConfigMap 内のMongoDB Ops Manager証明書の名前が mms-ca.crt
である必要があります。
MongoDB Ops Manager のTLS証明書チェーン全体を
downloads.mongodb.com
から取得します。 次のopenssl
コマンドは、現在の作業ディレクトリへのチェーン内の証明書を.crt
形式で出力します。openssl s_client -showcerts -verify 2 \ -connect downloads.mongodb.com:443 -servername downloads.mongodb.com < /dev/null \ | awk '/BEGIN/,/END/{ if(/BEGIN/){a++}; out="cert"a".crt"; print >out}' の CA MongoDB Ops Managerの証明書ファイルと、前のステップで取得した からの TLS 証明書チェーン全体を連結します。
downloads.mongodb.com
cat cert2.crt cert3.crt cert4.crt >> mms-ca.crt Ops Manager の ConfigMap を作成します。
kubectl create configmap om-http-cert-ca --from-file="mms-ca.crt"
次の Ops Manager Kubernetesオブジェクト例のいずれかをコピーします。
MongoDB Ops Managerとアプリケーション データベースの構成に合わせて設定を変更します。
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the Kubernetes secret 11 # for the admin user 12 13 externalConnectivity: 14 type: LoadBalancer 15 security: 16 certsSecretPrefix: <prefix> # Required. Text to prefix 17 # the name of the secret that contains 18 # Ops Manager's TLS certificate. 19 tls: 20 ca: "om-http-cert-ca" # Optional. Name of the ConfigMap file 21 # containing the certificate authority that 22 # signs the certificates used by the Ops 23 # Manager custom resource. 24 25 applicationDatabase: 26 topology: SingleCluster 27 members: 3 28 version: "6.0.0-ubi8" 29 security: 30 certsSecretPrefix: <prefix> # Required. Text to prefix to the 31 # name of the secret that contains the Application 32 # Database's TLS certificate. Name the secret 33 # <prefix>-<metadata.name>-db-cert. 34 tls: 35 ca: "appdb-ca" # Optional, unless enabling TLS for |mms|. 36 # Name of the ConfigMap file 37 # containing the certicate authority that 38 # signs the certificates used by the 39 # application database. 40 41 ...
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the Kubernetes secret 11 # for the admin user 12 13 externalConnectivity: 14 type: LoadBalancer 15 security: 16 certsSecretPrefix: <prefix> # Required. Text to prefix 17 # the name of the secret that contains 18 # Ops Manager's TLS certificate. 19 tls: 20 ca: "om-http-cert-ca" # Optional. Name of the ConfigMap file 21 # containing the certificate authority that 22 # signs the certificates used by the Ops 23 # Manager custom resource. 24 25 applicationDatabase: 26 topology: MultiCluster 27 clusterSpecList: 28 - clusterName: cluster1.example.com 29 members: 4 30 - clusterName: cluster2.example.com 31 members: 3 32 - clusterName: cluster3.example.com 33 members: 2 34 version: "6.0.0-ubi8" 35 security: 36 certsSecretPrefix: <prefix> # Required. Text to prefix to the 37 # name of the secret that contains the Application 38 # Database's TLS certificate. Name the secret 39 # <prefix>-<metadata.name>-db-cert. 40 tls: 41 ca: "appdb-ca" # Optional, unless enabling TLS for |mms|. 42 # Name of the ConfigMap file 43 # containing the certicate authority that 44 # signs the certificates used by the 45 # application database. 46 47 ...
配置に固有の設定を構成します。
キー | タイプ | 説明 | 例 |
---|---|---|---|
string | このKubernetes Ops Managerオブジェクトの名前。 リソース名は 44 文字以下にする必要があります。
|
| |
数値 | 並行して実行するMongoDB Ops Managerインスタンスの数。 有効な最小値は |
| |
string | インストールするMongoDB Ops Managerのバージョン。 形式は XYZ です。使用可能な Ops Manager のバージョンを表示するには、コンテナレジストリを表示します。 |
| |
string |
| ||
string | 必須。 MongoDB Ops Manager TLS証明書を含むシークレットの名前のプレフィックスに渡すテキスト。 |
| |
string | カスタム CA を使用して署名された Ops Manager TLS 証明書を検証するために作成した ConfigMap の名前。このフィールドは、カスタム CA を使用して MongoDB Ops Manager TLS 証明書に署名した場合に必要です。 |
| |
string | Ops Manager をKubernetesの外部で公開するKubernetesサービス ServiceType 。 |
| |
integer | MongoDB Ops Manager Application Databaseレプリカセットのノードの数。 |
| |
string | 必須。 Ops Manager Application Databaseが実行する MongoDB のバージョン。 形式は、 Enterprise エディションでは 重要:互換性のあるMongoDB Serverバージョンを選択していることを確認してください。 互換性のあるバージョンは、 MongoDBデータベースリソースが使用する基本イメージによって異なります。 MongoDB のバージョン管理の詳細については、MongoDB マニュアルの「 MongoDBのバージョン管理 」を参照してください。 | 最良の結果を得るには、Ops Manager のバージョンと互換性のある、利用可能な最新のエンタープライズMongoDBバージョンを使用してください。 | |
string | 任意。 アプリケーション データベースの Kubernetes 配置のタイプ。 省略した場合、デフォルトは
CRD |
| |
string | 必須。 アプリケーション データベースのTLS証明書を含むシークレットの名前のプレフィックスに設定するテキスト。 |
| |
string | カスタム CA を使用して署名されたアプリケーションデータベースTLS 証明書を検証するために作成した ConfigMap の名前。このフィールドは、カスタム CA を使用してアプリケーションデータベースTLS 証明書に署名している場合は必須です。 |
KubernetesOperator は、 設定を使用して追加した CA |
任意: バックアップ設定を構成します。
バックアップを構成するには、バックアップを有効にしてから次の操作を行う必要があります。
S 3スナップショット ストアまたはブロックストア を構成するには、 を選択します。 S3スナップショット ストアとブロックストア の両方を配置する場合、 MongoDB Ops Managerはバックアップに使用するものをランダムに選択します。
oplog ストア またはS 3 oplog ストアを構成するには、 を選択します。 oplogストアとS3 oplogストアの両方を配置する場合、 MongoDB Ops Managerは、 oplogバックアップに使用するためにそれらの 1 つをランダムに選択します。
キー | タイプ | 説明 | 例 |
---|---|---|---|
ブール値 | Flag that indicates that Backup is enabled. ヘッドデータベース、oplog ストア、スナップショット ストアの設定を構成するには、 |
| |
spec .backup .headDB | コレクション | ヘッドデータベースの構成設定のコレクション。 コレクションの個々の設定の説明については、 | |
string | oplog ストアの名前。 |
| |
string | S3 oplog ストアの名前。 |
| |
string | oplog ストアの |
| |
string | S 3 oplog ストアの |
|
S 3スナップショット ストアまたはブロックストア も構成する必要があります。
S3 スナップショット ストアとブロックストア の両方を配置する場合、 MongoDB Ops Managerはバックアップに使用するものをランダムに選択します。
スナップショット保存を構成するには、次の設定を構成します。
キー | タイプ | 説明 | 例 |
---|---|---|---|
string | S3スナップショットストアの名前。 |
| |
string |
| ||
string |
| ||
string | データベースのバックアップ スナップショットを保存するS 3またはS 3互換バケットの名前。 |
|
ブロックストアを構成するには、次の設定を構成します。
MongoDB Ops Manager インスタンスを作成します。
MongoDB Ops Managerのリソース定義のファイル名に対して次の kubectl
コマンドを実行します。
kubectl apply -f <opsmgr-resource>.yaml
注意
MongoDB Ops Manager リソースを複数の Kubernetes クラスター MongoDB 配置に配置している場合は、次を実行します。
kubectl apply \ --context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \ --namespace "mongodb" -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml
MongoDB Ops Managerインスタンスのステータスを追跡します。
MongoDB Ops Manager リソースのステータスを確認するには、次のコマンドを呼び出します。
kubectl get om -o yaml -w
このコマンドは、リソースの配置中にstatus
フィールドの下に次のような出力を返します。
status: applicationDatabase: lastTransition: "2022-04-01T09:49:22Z" message: AppDB Statefulset is not ready yet phase: Pending type: "" version: "" backup: phase: "" opsManager: phase: ""
Kubernetes Operator は、次の順序でリソースを調整します。
アプリケーション データベース。
Ops Manager:
バックアップ。
Kubernetes 演算子 は、前のリソースがRunning
フェーズに入るまで、リソースを調整 しません 。
MongoDB Ops Managerリソースが Pending
フェーズを完了すると、バックアップを有効にしている場合、コマンドは status
フィールドの下に次のような出力を返します。
status: applicationDatabase: lastTransition: "2022-04-01T09:50:20Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T09:57:42Z" message: The MongoDB object <namespace>/<oplogresourcename> doesn't exist phase: Pending opsManager: lastTransition: "2023-04-01T09:57:40Z" phase: Running replicas: 1 url: https://om-svc.cloudqa.svc.cluster.local:8443 version: "6.0.17"
バックアップ データベースを構成するまで、バックアップはPending
状態のままになります。
Tip
[ status.opsManager.url
フィールドにはリソースの 接続URLが記載されます。 URLMongoDB Ops Managerこの を使用すると、Kubernetes クラスター内から にアクセスしたり 、ConfigMap を使用してプロジェクトを作成したりできます。
リソースがPending
フェーズを完了すると、コマンドはstatus
フィールドの下に次のような出力を返します。
status: applicationDatabase: lastTransition: "2022-12-06T18:23:22Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" opsManager: lastTransition: "2022-12-06T18:23:26Z" message: The MongoDB object namespace/oplogdbname doesn't exist phase: Pending url: https://om-svc.dev.svc.cluster.local:8443 version: ""
バックアップ データベースを構成するまで、バックアップはPending
状態のままになります。
Tip
[ status.opsManager.url
フィールドにはリソースの 接続URLが記載されます。 URLMongoDB Ops Managerこの を使用すると、Kubernetes クラスター内から にアクセスしたり 、ConfigMap を使用してプロジェクトを作成したりできます。
MongoDB Ops Managerアプリケーションにアクセスします。
MongoDB Ops ManagerKubernetes実行する手順は、 の アプリケーションへのトラフィックをルーティングする方法によって異なります。Kubernetes Operator を構成してKubernetesサービスを作成した場合、またはKubernetesサービスを手動で作成した場合は、次のいずれかの方法を使用してMongoDB Ops Managerアプリケーションにアクセスします。
クラウドプロバイダーにクエリを実行して、ロード バランサー サービスのFQDNを取得します。 詳しくは、クラウドプロバイダーのドキュメントを参照してください。
ブラウザ ウィンドウを開き、ロード バランサー サービスのFQDNとポート番号を使用して MongoDB Ops Manager アプリケーションに移動します。
https://ops.example.com:8443
Kubernetes クラスターが実行されているホストで、インターネットから
spec.externalConnectivity.
port
へのアクセスを許可するようにファイアウォール ルールを設定します。ブラウザ ウィンドウを開き、MongoDB Ops Manager FQDN と を使用して
spec.externalConnectivity.
port
アプリケーションに移動します。https://ops.example.com:30036
サードパーティのサービスを使用してMongoDB Ops Managerアプリケーションにアクセスする方法については、ソリューションのドキュメントを参照してください。
Kubernetes Operator の認証情報を作成します。
認証情報を構成するには、 Ops Manager組織を作成し、プログラムAPIキーを生成し、 シークレット を作成する必要があります。これらのアクティビティは、 Kubernetes Operator の認証情報の作成 ページの前提条件と手順に従います。
ConfigMap を使用してプロジェクトを作成します。
プロジェクトを作成するには、 ConfigMap ページを使用して 1 つのプロジェクトを作成する の前提条件と手順に従います。
プロジェクト ConfigMap で次のフィールドを設定します。
ConfigMap で MongoDB Ops Manager アプリケーションのURLに
data.baseUrl
を設定します。 このURLを見つけるには、次のコマンドを呼び出します。kubectl get om -o yaml -w このコマンドは、次の例のように、
status.opsManager.url
フィールドに MongoDB Ops Manager アプリケーションの URL を返します。status: applicationDatabase: lastTransition: "2022-12-06T18:23:22Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" opsManager: lastTransition: "2022-12-06T18:23:26Z" message: The MongoDB object namespace/oplogdbname doesn't exist phase: Pending url: https://om-svc.dev.svc.cluster.local:8443 version: "" 重要
MongoDB Ops ManagerKubernetesOperatorMongoDB Ops Manager MongoDBを使用してKubernetes を配置し、
data.baseUrl
spec.configuration.mms.centralUrl
が配置先のMongoDB Ops Manager クラスターの 外部 に配置された データベース リソースを管理する場合、 の 設定と同じ値に設定する必要があります。リソース仕様。詳細については、「外部 MongoDB デプロイの管理 」を参照してください。
MongoDB Ops Manager
data.sslMMSCAConfigMap
ホストの証明書に署名するために使用されるルート CA 証明書を含む ConfigMap の名前に を設定します。 Kubernetes Operator では、ConfigMap でこの Ops Manager リソースの証明書mms-ca.crt
に名前を付ける必要があります。
MongoDB データベースリソースを配置して、バックアップ構成を完了します。
デフォルトでは、 MongoDB Ops Managerはバックアップを有効にします。 oplog およびスナップショット ストア用の MongoDB データベース リソースを作成し、構成を完了します。
リソースと同じ名前空間に ストア用のMongoDB database リソースoplogMongoDB Ops Manager を配置します。
注意
このデータベースを 3 ノードのレプリカセットとして作成します。
リソースの
metadata.name
と MongoDB Ops Manager リソース定義で指定したspec.backup.opLogStores.mongodbResourceRef.name
を照合します。リソースと同じ名前空間に S3 スナップショット ストアのMongoDB データベース リソースMongoDB Ops Manager を配置します。
注意
S 3スナップショット ストアをレプリカセットとして作成します。
リソースの
metadata.name
を MongoDB Ops Manager リソース定義で指定したspec.backup.s3Stores.mongodbResourceRef.name
と照合します。
MongoDB Ops Managerリソースが実行されていることを確認します。
MongoDB Ops Manager リソースのステータスを確認するには、次のコマンドを呼び出します。
kubectl get om -o yaml -w
MongoDB Ops Managerが実行されている場合、コマンドは status
フィールドの下に次のような出力を返します。
status: applicationDatabase: lastTransition: "2022-12-06T17:46:15Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" opsManager: lastTransition: "2022-12-06T17:46:32Z" phase: Running replicas: 1 url: https://om-backup-svc.dev.svc.cluster.local:8443 version: "6.0.17"
リソースの配置ステータスの詳細については、「 Kubernetes 演算子のトラブルシューティング 」を参照してください。
MongoDB Ops ManagerリソースをHTTP経由で実行するように配置するには、次の手順に従います。
kubectl
をデフォルトで名前空間に設定します。
まだ作成していない場合は、次のコマンドを実行して、作成した名前空間ですべての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>
次の Ops Manager Kubernetesオブジェクト例のいずれかをコピーします。
MongoDB Ops Managerの構成に合わせて 設定を変更します。
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the secret 11 # for the admin user 12 externalConnectivity: 13 type: LoadBalancer 14 15 applicationDatabase: 16 topology: SingleCluster 17 members: 3 18 version: <mongodbversion> 19 ...
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBOpsManager 4 metadata: 5 name: <myopsmanager> 6 spec: 7 replicas: 1 8 version: <opsmanagerversion> 9 adminCredentials: <adminusercredentials> # Should match metadata.name 10 # in the Kubernetes secret 11 # for the admin user 12 13 externalConnectivity: 14 type: LoadBalancer 15 16 applicationDatabase: 17 topology: MultiCluster 18 clusterSpecList: 19 - clusterName: cluster1.example.com 20 members: 4 21 - clusterName: cluster2.example.com 22 members: 3 23 - clusterName: cluster3.example.com 24 members: 2 25 version: "6.0.5-ubi8" 26 27 ...
前の例に含まれる 設定を構成します。
キー | タイプ | 説明 | 例 |
---|---|---|---|
string | このKubernetes Ops Managerオブジェクトの名前。 リソース名は 44 文字以下にする必要があります。
|
| |
数値 | 並行して実行するMongoDB Ops Managerインスタンスの数。 有効な最小値は |
| |
string | インストールするMongoDB Ops Managerのバージョン。 形式は XYZ です。使用可能な Ops Manager のバージョンのリストについては、コンテナレジストリを表示します。 |
| |
string | MongoDB Ops Manager 管理者ユーザー用に作成したシークレットの名前。 |
| |
string | 任意。 Ops Manager をKubernetesの外部で公開するKubernetesサービス ServiceType 。
|
| |
integer | MongoDB Ops Manager Application Databaseレプリカセットのノードの数。 |
| |
string | 必須。 Ops Manager Application Databaseが実行する MongoDB のバージョン。 形式は、 MongoDB Community Editionでは 重要:互換性のあるMongoDB Serverバージョンを選択していることを確認してください。 互換性のあるバージョンは、 MongoDBデータベースリソースが使用する基本イメージによって異なります。 MongoDB のバージョン管理の詳細については、MongoDB マニュアルの「 MongoDBのバージョン管理 」を参照してください。 | 最良の結果を得るには、Ops Manager のバージョンと互換性のある、利用可能な最新のエンタープライズMongoDBバージョンを使用してください。 | |
string | 任意。 アプリケーション データベースの Kubernetes 配置のタイプ。 省略した場合、デフォルトは
代わりに、 CRD |
|
任意: バックアップ設定を構成します。
バックアップを構成するには、バックアップを有効にしてから次の操作を行う必要があります。
S 3スナップショット ストアまたはブロックストア を構成するには、 を選択します。 S3スナップショット ストアとブロックストア の両方を配置する場合、 MongoDB Ops Managerはバックアップに使用するものをランダムに選択します。
oplog ストア またはS 3 oplog ストアを構成するには、 を選択します。 oplogストアとS3 oplogストアの両方を配置する場合、 MongoDB Ops Managerは、 oplogバックアップに使用するためにそれらの 1 つをランダムに選択します。
キー | タイプ | 説明 | 例 |
---|---|---|---|
ブール値 | バックアップが有効になっていることを示すフラグ。 ヘッドデータベース、oplog ストア、 S 3 oplog ストア、スナップショット ストアの設定を構成するには、 |
| |
spec .backup .headDB | コレクション | ヘッドデータベースの構成設定のコレクション。 コレクションの個々の設定の説明については、 | |
string | oplog ストアの名前。 |
| |
string | S3 oplog ストアの名前。 |
| |
string | oplog ストアの |
| |
string | S 3 oplog ストアの MongoDB データベース リソースの名前。 |
|
S 3スナップショット ストアまたはブロックストア も構成する必要があります。 S3スナップショット ストアとブロックストア の両方を配置する場合、 MongoDB Ops Managerはバックアップに使用するものをランダムに選択します。
S 3スナップショットストアを構成するには、次の設定を構成します。
キー | タイプ | 説明 | 例 |
---|---|---|---|
string | S3スナップショットストアの名前。 |
| |
string |
|
| |
string |
| ||
string | データベースのバックアップ スナップショットを保存するS 3またはS 3互換バケットの名前。 |
| |
string | S 3互換バケットが存在するリージョン。 このフィールドは、 S 3ストアの |
|
ブロックストアを構成するには、次の設定を構成します。
MongoDB Ops Manager インスタンスを作成します。
MongoDB Ops Managerのリソース定義のファイル名に対して次の kubectl
コマンドを実行します。
kubectl apply -f <opsmgr-resource>.yaml
注意
MongoDB Ops Manager リソースを複数の Kubernetes クラスター MongoDB 配置に配置している場合は、次を実行します。
kubectl apply \ --context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \ --namespace "mongodb" -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml
MongoDB Ops Managerインスタンスのステータスを追跡します。
MongoDB Ops Manager リソースのステータスを確認するには、次のコマンドを呼び出します。
kubectl get om -o yaml -w
このコマンドは、リソースの配置中にstatus
フィールドの下に、次のような出力を返します。
status: applicationDatabase: lastTransition: "2023-04-01T09:49:22Z" message: AppDB Statefulset is not ready yet phase: Pending type: "" version: "" backup: phase: "" opsManager: phase: ""
Kubernetes Operator は、次の順序でリソースを調整します。
アプリケーション データベース。
Ops Manager:
バックアップ。
Kubernetes 演算子 は、前のリソースがRunning
フェーズに入るまで、リソースを調整 しません 。
MongoDB Ops Managerリソースが Pending
フェーズを完了すると、バックアップを有効にした場合、コマンドは status
フィールドの下に次のような出力を返します。
status: applicationDatabase: lastTransition: "2023-04-01T09:50:20Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T09:57:42Z" message: The MongoDB object <namespace>/<oplogresourcename> doesn't exist phase: Pending opsManager: lastTransition: "2022-04-01T09:57:40Z" phase: Running replicas: 1 url: http://om-svc.cloudqa.svc.cluster.local:8080 version: "6.0.17"
バックアップ データベースを構成するまで、バックアップはPending
状態のままになります。
Tip
[ status.opsManager.url
フィールドにはリソースの 接続URLが記載されます。 URLMongoDB Ops Managerこの を使用すると、Kubernetes クラスター内から にアクセスしたり 、ConfigMap を使用してプロジェクトを作成したりできます。
MongoDB Ops Managerアプリケーションにアクセスします。
MongoDB Ops ManagerKubernetes実行する手順は、 の アプリケーションへのトラフィックをルーティングする方法によって異なります。Kubernetes Operator を構成してKubernetesサービスを作成した場合、またはKubernetesサービスを手動で作成した場合は、次のいずれかの方法を使用してMongoDB Ops Managerアプリケーションにアクセスします。
クラウドプロバイダーにクエリを実行して、ロード バランサー サービスのFQDNを取得します。 詳しくは、クラウドプロバイダーのドキュメントを参照してください。
ブラウザ ウィンドウを開き、ロード バランサー サービスのFQDNとポート番号を使用して MongoDB Ops Manager アプリケーションに移動します。
http://ops.example.com:8080
Kubernetes クラスターが実行されているホストで、インターネットから
spec.externalConnectivity.
port
へのアクセスを許可するようにファイアウォール ルールを設定します。ブラウザ ウィンドウを開き、MongoDB Ops Manager FQDN と を使用して
spec.externalConnectivity.
port
アプリケーションに移動します。http://ops.example.com:30036
サードパーティのサービスを使用してMongoDB Ops Managerアプリケーションにアクセスする方法については、ソリューションのドキュメントを参照してください。
オプション: Kubernetes Operator の認証情報を作成します。
バックアップを有効にした場合は、 MongoDB Ops Manager組織を作成し、プログラムAPIキーを生成し、 シークレットストレージ ツールで シークレット を作成する必要があります。 これらのアクティビティは、 Kubernetes Operator の認証情報の作成ページの前提条件と手順に従います。
オプション: ConfigMap を使用してプロジェクトを作成します。
バックアップを有効にした場合は、「 ConfigMap ページを使用して 1 つのプロジェクトを作成する 」の前提条件と手順に従ってプロジェクトを作成します。
ConfigMap で MongoDB Ops Manager アプリケーションのURLにdata.baseUrl
を設定する必要があります。 このURLを見つけるには、次のコマンドを呼び出します。
kubectl get om -o yaml -w
このコマンドは、次の例のように、 status.opsManager.url
フィールドに MongoDB Ops Manager アプリケーションの URL を返します。
status: applicationDatabase: lastTransition: "2022-04-01T10:00:32Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T09:57:42Z" message: The MongoDB object <namespace>/<oplogresourcename> doesn't exist phase: Pending opsManager: lastTransition: "2022-04-01T09:57:40Z" phase: Running replicas: 1 url: http://om-svc.cloudqa.svc.cluster.local:8080 version: "6.0.17"
重要
MongoDB Ops ManagerKubernetesOperatorMongoDB Ops Manager MongoDBを使用してKubernetes を配置し、data.baseUrl
spec.configuration.mms.centralUrl
が配置先のMongoDB Ops Manager クラスターの 外部 に配置された データベース リソースを管理する場合、 の 設定と同じ値に設定する必要があります。リソース仕様。
詳細については、「外部 MongoDB デプロイの管理 」を参照してください。
任意: MongoDB データベースリソースを配置して、バックアップ構成を完了します。
バックアップを有効にした場合は、oplog およびスナップショット ストア用の MongoDB データベース リソースを作成して構成を完了します。
リソースと同じ名前空間に ストア用のMongoDB database リソースoplogMongoDB Ops Manager を配置します。
注意
このデータベースをレプリカセットとして作成します。
リソースの
metadata.name
と MongoDB Ops Manager リソース定義で指定したspec.backup.opLogStores.mongodbResourceRef.name
を照合します。次のいずれかを選択します。
リソースと同じ名前空間にブロックストア用のMongoDB database リソースMongoDB Ops Manager を配置します。
リソースの
metadata.name
を MongoDB Ops Manager リソース定義で指定したspec.backup.blockStores.mongodbResourceRef.name
と照合します。S3 3スナップショット ストアとして使用する S バケットを構成します。
のリソース定義で指定した詳細を使用して、 S3 バケットにアクセスできることを確認します。MongoDB Ops Manager
オプション: MongoDB Ops Managerリソースが実行されていることを確認します。
バックアップを有効にした場合は、次のコマンドを呼び出して、 MongoDB Ops Managerリソースのステータスを確認します。
kubectl get om -o yaml -w
MongoDB Ops Managerが実行されている場合、コマンドは status
フィールドの下に次の出力を返します。
status: applicationDatabase: lastTransition: "2022-04-01T10:00:32Z" members: 3 phase: Running type: ReplicaSet version: "6.0.5-ubi8" backup: lastTransition: "2022-04-01T10:00:53Z" phase: Running version: "6.0.5-ubi8" opsManager: lastTransition: "2022-04-01T10:00:34Z" phase: Running replicas: 1 url: http://om-svc.cloudqa.svc.cluster.local:8080 version: "6.0.17"
リソースの配置ステータスの詳細については、「 Kubernetes 演算子のトラブルシューティング 」を参照してください。