10.2. operator を使用した 3scale の復元
以下のセクションでは、APIManager カスタムリソースによってデプロイされ APIManagerBackup
によりバックアップを行っている 3scale インストールの復元に必要な情報および手順を説明します。
10.2.1. 復元の可能なシナリオ
復元が可能な 3scale インストール設定については、以下のセクションを参照してください。
前提条件
3scale 外部データベースの復元
-
backend-redis
-
system-redis
-
system-database
- MySQL または PostgreSQL
-
10.2.2. 復元シナリオのスコープ
3scale operator の復元機能は、APIManagerBackup
カスタムリソースから生成されたバックアップを使用して利用できます。
バックアップ可能な 3scale ソリューションのシナリオのリストは、バックアップされるデータ を参照してください。
以下は、operator の復元機能のスコープではありません。
-
APIManagerBackup
カスタムリソースを使用せずに実行されたバックアップデータの復元 -
異なる 3scale バージョンの
APIManagerBackup
から提供されたバックアップデータの復元
10.2.3. 復元されるデータ
以下の表は、復元されるデータの一覧を示しています。
オブジェクト | Object-type データ |
---|---|
Secret |
|
ConfigMaps |
|
APIManager | APIManager カスタムリソース Kubernetes オブジェクト定義: json スキーマ定義 |
System FileStorage | System FileStorage の場所が PersistentVolumeClaim (PVC) にある場合 |
Routes | 3scale 関連の OpenShift ルート (例: マスターおよびテナント) |
10.2.4. 3scale の復元
APIManager によってデプロイされ APIManagerBackup
カスタムリソースによりバックアップを行っている 3scale インストールを復元するには、以下の手順に従います。
- 復元を実行するプロジェクトには APIManager カスタムリソースとそれに対応する 3scale インストールが含まれないようにします。
以下の Kubernetes シークレットを復元します。
-
backend-redis
-
system-redis
-
system-database
-
APIManagerRestore
カスタムリソースを作成し、前の手順でAPIManagerBackup
カスタムリソースによってバックアップを行ったインストールのバックアップデータを指定します。詳細は、バックアップシナリオのスコープ を参照してください。
APIManagerRestore
カスタムリソースの例を以下に示します。apiVersion: apps.3scale.net/v1alpha1 kind: APIManagerRestore metadata: name: example-apimanagerrestore-pvc spec: restoreSource: persistentVolumeClaim: claimSource: claimName: example-apimanagerbackup-pvc # Name of the PVC produced as the backup result of an `APIManagerBackup` readOnly: true
APIManagerRestore
が終了するまで待ちます。APIManagerRestore
の内容を取得し.status.completed
フィールドが true に設定されるまで待機して、これを確認します。新しい APIManager カスタムリソースが作成され、3scale インストールがデプロイされたことが確認できるはずです