Operator で配置する リソースの クエリ可能なバックアップ を構成できます。MongoDB Ops ManagerKubernetes
注意
MongoDB Ops Managerのドキュメントでは、クエリ可能なバックアップは、クエリ可能なスナップショット、またはクエリ可能な復元とも呼ばれます。
クエリ可能なバックアップを使用すると、 リソースの特定のバックアップ スナップショット に対してクエリを実行 できます。MongoDB Ops ManagerMongoDB Ops Managerバックアップをクエリすると、さまざまなスナップショットのデータを比較し、データの復元に使用する最適なスナップショットを識別するのに役立ちます。
次の手順では、次の操作を行います。
Create the queryable.pem file that holds the certificates for accessing the backup snapshots that you intend to query.
Create the secret containing the queryable.pem file.
クエリ可能なバックアップにシークレットを使用するようにMongoDB Ops Managerのカスタム リソースを構成します。
MongoDB Ops Managerカスタム リソース構成を保存し、それを適用します。
Kubernetes Operator がカスタム リソースの更新された構成を配置すると、 MongoDB Ops Managerはspec.backup.queryableBackupSecretRef.nameパラメータからシークレットを読み取ることができます。 バックアップ スナップショットにアクセスし、クエリを実行できるようになりました。
前提条件
クエリ可能なバックアップを構成する前に、次のタスクを完了してください。
MongoDB Ops Managerリソース のバックアップ設定を構成します。 リンクされた手順で、バックアップを構成する手順を参照してください。
手順
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>
バックアップ用の PEM ファイルを作成します。
Create the Ops Manager queryable.pem file that you will use for accessing and querying backups based on your deployment's TLS requirements. The PEM file contains a public key certificate and its associated private key that are needed to access and run queries on backup snapshots in Ops Manager.
To learn more about the PEM file's requirements, see Authorization and Authentication Requirements in Ops Manager.
PEM ファイルを含むシークレットを作成します。
次のコマンドを実行して、前のステップで作成したqueryable.pemファイルにシークレットを作成します。
kubectl create secret generic queryable-pem --from-file=./queryable.pem
HashiCorp Vault を シークレットストレージツール として使用している場合は、代わりに Vault シークレットを作成 できます。
シークレット ストレージのオプションの詳細については、「シークレット ストレージの構成 」を参照してください。
シークレットを使用するように MongoDB Ops Manager のカスタム リソースを構成します。
spec.backup.queryableBackupSecretRef.namequeryable.pem シークレットを参照するように構成します。
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: ops-manager 5 spec: 6 replicas: 1 7 version: 8.0.0 8 adminCredentials: ops-manager-admin-secret 9 backup: 10 enabled: true 11 queryableBackupSecretRef: 12 name: om-queryable-pem
マウントされたボリュームとシークレットのステータスを追跡します。
永続的なボリューム クレームのリストを取得します。
kubectl get pvc シークレットを取得します。
kubectl get secrets MongoDB Ops Managerの リソース ステータスを確認します。
kubectl get om <resource-name> -o yaml -w -wフラグは「監視」を意味します。 「watch」フラグを設定すると、ステータスフェーズがRunning状態になるまで、構成が変更されたときに出力がすぐに更新されます。リソースの配置ステータスの詳細については、 「 Kubernetes Operator のトラブルシューティング 」を参照してください。
クエリ可能なバックアップを構成した後、クエリを実行して、データの復元に使用する最適なバックアップ スナップショットを選択できます。
クエリ可能なバックアップの無効化
If you require all containers in your MongoDB deployment to be fully static, disable queryable backups as a best practice. This is so the Backup Daemon Service doesn't attempt to download the MongoDB binaries from Ops Manager. Downloading binaries undermines the immutable nature of static containers and is only possible with non-static containers. To learn more, see Static Containers (Public Preview).
クエリ可能なバックアップを無効にするには、以下の手順を行います。
MongoDB Ops Managerのカスタム リソースを更新します。
MongoDFOpsManagerカスタム リソースで、 spec.configuration.mms.featureFlag.backup.queryableとspec.configuration.mms.featureFlag.backup.wt.queryableをdisabledに設定します。
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: opsmgr-resource 5 spec: 6 configuration: 7 mms.featureFlag.backup.wt.queryable: "disabled" 8 mms.featureFlag.backup.queryable: "disabled"
PEM ファイルを削除する
Navigate to the Queryable Snapshot Configuration section and delete the Proxy Server PEM File.