第10章 カスタムリソースを使用した 3scale のバックアップおよび復元
本章では、APIManager カスタムリソース (CR) を使用してデプロイされた Red Hat 3scale API Management インストールのバックアップおよび復元機能について説明します。ここでは、CRD は 3scale operator によって提供されます。
operator 機能からのカスタムリソースは、3scale インストールの一部ではありません。このため、3scale インストールのバックアップおよび復元機能の一部としてカスタムリソースは含まれません。
前提条件
- 3scale インストール環境
以降のセクションでは、operator を使用して 3scale のバックアップおよび復元を行う手順を説明します。
10.1. operator を使用した 3scale のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、APIManager カスタムリソース (CR) によってデプロイされた 3scale インストールのバックアップに必要な情報および手順を説明します。
10.1.1. バックアップの可能なシナリオ リンクのコピーリンクがクリップボードにコピーされました!
バックアップが可能な 3scale インストール設定については、以下のセクションを参照してください。
前提条件
3scale 外部データベースのバックアップ
-
backend-redis
-
system-redis
-
system-database
-
Zync
(オプション)
-
- PVC がバックアップデータを保管するのに十分な容量のプロビジョニング
APIManager で 3scale をデプロイする場合、Amazon S3 をシステムの FileStorage として使用することはできません。
外部データベースの詳細は、外部データベースのインストール を参照してください。
10.1.2. バックアップシナリオのスコープ リンクのコピーリンクがクリップボードにコピーされました!
バックアップ機能は、以下のデータベースが外部で設定されている場合に利用できます。
- バックエンド Redis データベース
- システム Redis データベース
- システムデータベース: MySQL または PostgreSQL
- Zync データベース (オプション)
10.1.3. バックアップされるデータ リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、バックアップされるデータのリストを示しています。
オブジェクト | Object-type データ |
---|---|
Secret |
|
ConfigMaps |
|
APIManager | APIManager CR Kubernetes オブジェクト定義: json スキーマ定義 |
System FileStorage | System FileStorage の場所が PersistentVolumeClaim (PVC) にある場合 |
10.1.4. 3scale のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
既存の APIManager を使用してデプロイされた 3scale インストールのバックアップを作成するには、以下の手順に従います。
手順
以下の Kubernetes Secret のバックアップを作成します。
-
backend-redis
-
system-redis
-
system-database
-
Zync
(オプション)
-
例 1 に示すように、APIManager オブジェクトで管理される 3scale インストールがデプロイされるのと同じ namespace に、
APIManagerBackup
CR を作成します。例 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 2 は、既存の PersistentVolume 名を提供します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
APIManagerBackup
が終了するまで待ちます。APIManagerBackup
の内容を取得し、.status.completed
フィールドが true に設定されるまで待機して、これを確認します。
バックアップの内容の詳細は、バックアップされるデータ を参照してください。
APIManagerBackup
のステータスセクションのその他のフィールドは、設定されたバックアップ先が PVC の場合にデータがバックアップされている PVC の名前など、バックアップの詳細が表示されます。
後で参照するために、status.backupPersistentVolumeClaimName
フィールドの値を書き留めておきます。APIManagerRestore
で APIManager インストールを復元する場合、必要なフィールドの 1 つは PersistentVolumeClaimName
バックアップソースです。
10.1.5. 3scale カスタムリソースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift 管理者アカウント外の CR のコピーがない場合は、以下のコマンドを使用して 3scale プロジェクト CR のバックアップを作成します。
3scale プロジェクトから ActiveDocs CR をエクスポートするには、以下のコマンドを入力します。
oc get activedocs.capabilities.3scale.net -o yaml > activedocs.yaml
oc get activedocs.capabilities.3scale.net -o yaml > activedocs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale プロジェクトからバックエンド CR をエクスポートするには、以下のコマンドを入力します。
oc get backend.capabilities.3scale.net -o yaml > backend.yaml
oc get backend.capabilities.3scale.net -o yaml > backend.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力し、3scale プロジェクトから CustomPolicyDefinition CR をエクスポートします。
oc get custompolicydefinition.capabilities.3scale.net -o yaml > custompolicydefinition.yaml
oc get custompolicydefinition.capabilities.3scale.net -o yaml > custompolicydefinition.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力し、3scale プロジェクトから DeveloperAccount CR をエクスポートします。
oc get developeraccount.capabilities.3scale.net -o yaml > developeraccount.yaml
oc get developeraccount.capabilities.3scale.net -o yaml > developeraccount.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力し、3scale プロジェクトから DeveloperUser CR をエクスポートします。
oc get developeruser.capabilities.3scale.net -o yaml > developeruser.yaml
oc get developeruser.capabilities.3scale.net -o yaml > developeruser.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale プロジェクトから OpenAPI CR をエクスポートするには、以下のコマンドを入力します。
oc get openapi.capabilities.3scale.net -o yaml > openapi.yaml
oc get openapi.capabilities.3scale.net -o yaml > openapi.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale プロジェクトからプロダクト CR をエクスポートするには、以下のコマンドを入力します。
oc get product.capabilities.3scale.net -o yaml > product.yaml
oc get product.capabilities.3scale.net -o yaml > product.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale プロジェクトからテナント CR をエクスポートするには、以下のコマンドを入力します。
oc get tenant.capabilities.3scale.net -o yaml > tenant.yaml
oc get tenant.capabilities.3scale.net -o yaml > tenant.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow