MongoDB Ops Managerリソースのクエリ可能なバックアップの構成
項目一覧
- 前提条件
- 手順
kubectl
をデフォルトで名前空間に設定します。- バックアップ用の PEM ファイルを作成します。
- PEM ファイルを含むシークレットを作成します。
- シークレットを使用するように MongoDB Ops Manager のカスタム リソースを構成します。
- MongoDB Ops Manager構成ファイルを保存します。
- MongoDB Ops Manager配置に変更を適用します。
- マウントされたボリュームとシークレットのステータスを追跡します。
- クエリ可能なバックアップの無効化
- MongoDB Ops Managerのカスタム リソースを更新します。
- MongoDB Ops Manager のカスタム リソースを保存します。
- MongoDB Ops Managerのカスタム リソースに変更を適用します。
- MongoDB Ops Managerのバックアップ設定に移動します。
- PEM ファイルを削除する
- 変更を有効にするには、Web サーバーを再起動します。
Operator で配置する リソースの クエリ可能なバックアップ を構成できます。MongoDB Ops ManagerKubernetes
注意
MongoDB Ops Managerのドキュメントでは、クエリ可能なバックアップは、クエリ可能なスナップショット、またはクエリ可能な復元とも呼ばれます。
クエリ可能なバックアップを使用すると、 リソースの特定のバックアップ スナップショット に対してクエリを実行 できます。MongoDB Ops ManagerMongoDB Ops Managerバックアップをクエリすると、さまざまなスナップショットのデータを比較し、データの復元に使用する最適なスナップショットを識別するのに役立ちます。
次の手順では、次の操作を行います。
クエリ対象のバックアップ スナップショットにアクセスするための証明書を保持するqueryable.pemファイルを作成します。
queryable.pemファイルを含むシークレットを作成します。
クエリ可能なバックアップにシークレットを使用するように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 ファイルを作成します。
配置の TLSMongoDB Ops Manager 要件に基づいて、バックアップへのアクセスとクエリに使用する の queryable.pem ファイルを作成します。PEM ファイルには、 MongoDB Ops Managerのバックアップ スナップショットにアクセスしてクエリを実行するために必要な公開鍵証明書とそれに関連付けられた秘密キーが含まれています。
PEM ファイルの要件の詳細については、 MongoDB Ops Managerの「承認と認証の要件」を参照してください。
PEM ファイルを含むシークレットを作成します。
次のコマンドを実行して、前のステップで作成したqueryable.pemファイルにシークレットを作成します。
kubectl create secret generic queryable-pem --from-file=./queryable.pem
HashiCorp Vault を使用している場合 シークレット ストレージ ツール として使用する場合は、代わりに Vault シークレットを作成 できます。
シークレット ストレージのオプションの詳細については、「シークレット ストレージの構成 」を参照してください。
シークレットを使用するように MongoDB Ops Manager のカスタム リソースを構成します。
spec.backup.queryableBackupSecretRef.name
queryable.pem シークレットを参照するように構成します。
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: ops-manager 5 spec: 6 replicas: 1 7 version: 6.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 のトラブルシューティング 」を参照してください。
クエリ可能なバックアップを構成した後、クエリを実行して、データの復元に使用する最適なバックアップ スナップショットを選択できます。
クエリ可能なバックアップの無効化
MongoDB 配置のすべてのコンテナを完全に静的にする必要がある場合は、ベストプラクティスとして クエリ可能なバックアップ を無効にします。 これにより、 バックアップデーモン サービス MongoDBMongoDB Ops Managerは から バイナリをダウンロードしようとします。バイナリをダウンロードすると、静的コンテナの不変の性質が損なわれ、非静的コンテナでのみ可能です。 詳細については、「静的コンテナ(パブリック プレビュー) 」を参照してください。
クエリ可能なバックアップを無効にするには、以下の手順を行います。
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 ファイルを削除する
Queryable Snapshot Configurationセクションに移動し、 Proxy Server PEM File
を削除します。