5.22.3. OADP を使用した 3scale API Management の復元
バックアップ済みの 3scale オペレーターリソース、MySQL データベース、および Redis データベースを復元することにより、Red Hat 3scale API 管理コンポーネントを復元します。これにより、3scale のデプロイメントを復旧し、API 管理サービスを再開できます。
データが復元されたら、3scale Operator とデプロイメントをスケールアップできます。
5.22.3.1. 3scale API Management Operator、シークレット、APIManager の復元 リンクのコピーリンクがクリップボードにコピーされました!
シークレット および APIManager カスタムリソース (CR) を含む、Red Hat 3scale API Management オペレーターリソースを復元します。これにより、同じクラスターまたは別のクラスター上で 3scale オペレーターの設定を復元できます。
前提条件
- 3scale Operator をバックアップした。
- MySQL および Redis データベースをバックアップした。
バックアップされたのと同じクラスター上でデータベースを復元しようとしている。
バックアップ元とは異なるクラスターに Operator を復元する場合は、復元先のクラスターで
nodeAgentを有効にして OADP をインストールして設定します。OADP の設定がソースクラスターと同じであることを確認してください。
手順
次のコマンドを実行して、3scale Operator のカスタムリソース定義 (CRD) と
threescalenamespace を削除します。$ oc delete project threescale"threescale" project deleted successfully3scale Operator を復元するために、次の設定を含む YAML ファイルを作成します。
apiVersion: velero.io/v1 kind: Restore metadata: name: operator-installation-restore namespace: openshift-adp spec: backupName: operator-install-backup excludedResources: - nodes - events - events.events.k8s.io - backups.velero.io - restores.velero.io - resticrepositories.velero.io - csinodes.storage.k8s.io - volumeattachments.storage.k8s.io - backuprepositories.velero.io itemOperationTimeout: 4h0m0sここでは、以下のようになります。
オペレーターのインストールバックアップ- 3scale オペレーターを復元するためのバックアップの名前を指定します。
次のコマンドを実行して、3scale Operator を復元します。
$ oc create -f restore.yamlrestore.velerio.io/operator-installation-restore created次のコマンドを実行して、
s3-credentialsSecretオブジェクトを手動で作成します。$ oc apply -f - <<EOF --- apiVersion: v1 kind: Secret metadata: name: s3-credentials namespace: threescale stringData: AWS_ACCESS_KEY_ID: <ID_123456> AWS_SECRET_ACCESS_KEY: <ID_98765544> AWS_BUCKET: <mybucket.example.com> AWS_REGION: <us-east-1> type: Opaque EOFここでは、以下のようになります。
<AWS_ACCESS_KEY_ID>- AWS 認証情報 ID を指定します。
<AWS_SECRET_ACCESS_KEY>- AWS 認証情報のキーを指定します。
<mybucket.example.com>- ターゲットバケット名を指定します。
<us-east-1>- バケットの AWS リージョンを指定します。
次のコマンドを実行して、3scale Operator をスケールダウンします。
$ oc scale deployment threescale-operator-controller-manager-v2 --replicas=0 -n threescaledeployment.apps/threescale-operator-controller-manager-v2 scaledSecretを復元するために、次の設定を含む YAML ファイルを作成します。apiVersion: velero.io/v1 kind: Restore metadata: name: operator-resources-secrets namespace: openshift-adp spec: backupName: operator-resources-secrets excludedResources: - nodes - events - events.events.k8s.io - backups.velero.io - restores.velero.io - resticrepositories.velero.io - csinodes.storage.k8s.io - volumeattachments.storage.k8s.io - backuprepositories.velero.io itemOperationTimeout: 4h0m0sここでは、以下のようになります。
オペレーターリソースシークレット-
シークレットを復元するバックアップの名前を指定します。
次のコマンドを実行して、
Secretを復元します。$ oc create -f restore-secrets.yamlrestore.velerio.io/operator-resources-secrets createdAPIManager を復元するために、次の設定を含む YAML ファイルを作成します。
restore-apimanager.yamlファイルの例apiVersion: velero.io/v1 kind: Restore metadata: name: operator-resources-apim namespace: openshift-adp spec: backupName: operator-resources-apim excludedResources: - nodes - events - events.events.k8s.io - backups.velero.io - restores.velero.io - resticrepositories.velero.io - csinodes.storage.k8s.io - volumeattachments.storage.k8s.io - backuprepositories.velero.io itemOperationTimeout: 4h0m0sここでは、以下のようになります。
オペレーターリソース APIM- APIManager を復元するバックアップの名前を指定します。
excludedResources- 復元したくないリソースを指定します。
次のコマンドを実行して、APIManager を復元します。
$ oc create -f restore-apimanager.yamlrestore.velerio.io/operator-resources-apim created次のコマンドを実行して、3scale Operator をスケールアップします。
$ oc scale deployment threescale-operator-controller-manager-v2 --replicas=1 -n threescaledeployment.apps/threescale-operator-controller-manager-v2 scaled