Operator 環境のバックアップとリカバリー
OpenShift Container Platform 上の Ansible Automation Platform Operator のバックアップとリカバリーによりデータ損失を保護する
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform に興味をお持ちいただきありがとうございます。Ansible Automation Platform は、Ansible を装備した環境に、制御、ナレッジ、委譲の機能を追加して、チームが複雑かつ複数層のデプロイメントを管理できるように支援する商用サービスです。
このガイドの手順を使用して、障害が発生した場合に Red Hat Ansible Automation Platform デプロイメントを復旧するために使用できるバックアップリソースを作成します。
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com から Technical Support チームに連絡してください。
第1章 Red Hat Ansible Automation Platform のバックアップと復元 リンクのコピーリンクがクリップボードにコピーされました!
予期しないデータ損失やアプリケーションエラーから保護するには、Red Hat Ansible Automation Platform デプロイメントの定期的なバックアップを実行することが重要です。データ損失の防止に加えて、バックアップを使用すると、別のデプロイメント状態にフォールバックできます。
1.1. バックアップおよびリカバリーについて リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、データの損失を防ぐために、Red Hat OpenShift Container Platform 環境で Red Hat Ansible Automation Platform のデプロイメントをバックアップすることが推奨されます。
Red Hat Ansible Automation Platform デプロイメントのバックアップリソースには、以下が含まれます。
-
Ansible Automation Platform カスタムリソースオブジェクトの
specセクションに含まれる特定の値のカスタムデプロイメント -
postgresqlデータベースのバックアップ -
secret_key、admin_password、およびbroadcast_websocketシークレット - データベースの設定
機密情報が含まれている可能性があるため、バックアップリソースを必ず保護してください。
1.1.1. バックアップの推奨事項 リンクのコピーリンクがクリップボードにコピーされました!
データ損失から復旧するには、定期的に Red Hat Ansible Automation Platform デプロイメントのバックアップリソースを計画して作成する必要があります。少なくとも、Red Hat は、以下の状況で Red Hat Ansible Automation Platform のデプロイメントをバックアップすることを推奨しています。
- Red Hat Ansible Automation Platform デプロイメントをアップグレードする前
- OpenShift クラスターをアップグレードする前
- 1 週間に 1 回。これは、環境が自動アップグレード用に設定されている場合に特に重要です。
第2章 Red Hat Ansible Automation Platform バックアップリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform デプロイメントをバックアップするには、デプロイされたインスタンスのバックアップリソースを作成する必要があります。以下の手順を使用して、Red Hat Ansible Automation Platform デプロイメントのバックアップリソースを作成します。Ansible Automation Platform Operator をアップグレードする前に、バックアップを作成することが推奨されます。プラットフォームを以前の状態に復元する場合に備えて、定期的にバックアップを作成してください。
2.1. Ansible Automation Platform デプロイメントのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
予期しないデータ損失やアプリケーションエラーから保護するために、Ansible Automation Platform のデプロイメントを定期的にバックアップすることが重要です。Ansible Automation Platform は、有効なコンポーネント (Automation Controller、Automation Hub、Event-Driven Ansible など) をホストします。Ansible Automation Platform をバックアップすると、Operator によってこれらのコンポーネントもバックアップされます。
Ansible Automation Platform Operator は、Ansible Automation Platform バックアップ用の PersistentVolumeClaim (PVC) を自動的に作成します。backup_pvc 仕様を使用して PVC を指定することにより、事前に作成した独自の PVC を使用できます。
前提条件
- OpenShift クラスターで認証されている。
- クラスターに Ansible Automation Platform Operator をインストールした。
- Ansible Automation Platform Operator を使用して Ansible Automation Platform インスタンスをデプロイした。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- All Instances タブに移動し、 をクリックします。
リストから Ansible Automation Platform Backup を選択します。
注記Ansible Automation Platform Backup リソースを作成すると、ネストされた有効な各コンポーネントのバックアップリソースも作成されます。
- Name フィールドにバックアップの名前を入力します。
- Deployment name フィールドに、バックアップ対象のデプロイ済み Ansible Automation Platform インスタンスの名前を入力します。たとえば、Ansible Automation Platform のデプロイメントをバックアップする必要があり、デプロイメント名が 'aap' である場合は、Deployment name フィールドに aap と入力します。
をクリックします。これにより、次のような AnsibleAutomationPlatformBackup リソースが作成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 検証
バックアップが成功したかどうかを確認するには、次の手順を実行します。
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- All Instances をクリックします。
All Instances ページには、メインのバックアップと、バックアップリソースの作成時に指定した名前を持つ各コンポーネントのバックアップが表示されます。次のインスタンスのステータスが、Running または Successful のいずれかである必要があります。
- AnsibleAutomationPlatformBackup
- AutomationControllerBackup
- EDABackup
- AutomationHubBackup
第3章 Red Hat Ansible Automation Platform デプロイメントの復元 リンクのコピーリンクがクリップボードにコピーされました!
システムに関する情報を失ったり、アップグレードで問題が発生したりした場合は、デプロイインスタンスのバックアップリソースを使用できます。Ansible Automation Platform デプロイメントファイルを復元するには、次の手順を使用します。
3.1. Ansible Automation Platform デプロイメントの復元 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform は、有効なコンポーネント (Automation Controller、Automation Hub、Event-Driven Ansible など) を管理します。Ansible Automation Platform を復元すると、これらのコンポーネントも復元されます。
以前のバージョンの Ansible Automation Platform Operator では、プラットフォームの各コンポーネントごとに復元オブジェクトを作成する必要がありました。このバージョンでは、1 つの AnsibleAutomationPlatformRestore リソースを作成します。これにより、以下の他の復元オブジェクトを作成および管理します。
- AutomationControllerRestore
- AutomationHubRestore
- EDARestore
前提条件
- OpenShift クラスターで認証されている。
- クラスターに Ansible Automation Platform Operator をインストールした。
- クラスターで AnsibleAutomationPlatformBackups デプロイメントが利用できる。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- All Instances タブに移動し、 をクリックします。
- リストから Ansible Automation Platform Restore を選択します。
- Name にリカバリーデプロイメントの名前を入力します。
- New Ansible Automation Platform Name に、Ansible Automation Platform インスタンスの新しい名前を入力します。
- Backup Source のデフォルトは CR です。
- Backup name に、バックアップの作成時に選択した名前を入力します。
- をクリックします。
検証
AnsibleAutomationPlatformRestores タブでバックアップの復元が開始します。
すべてのリソースが正常に復元されるまで、復元は完了しません。データベースのサイズによっては、時間がかかる場合があります。
回復が成功したかどうかを確認するには、次の手順を実行します。
- → に移動します。
- すべての Pod が Running または Completed 状態であることを確認します。
3.2. PVC からの Ansible Automation Platform デプロイメントの復元 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求 (PVC) は、Automation Hub および Automation Controller アプリケーションのデータを保存するストレージボリュームです。この PVC はアプリケーションから独立しており、アプリケーションが削除されても残ります。Ansible Automation Platform バックアップから回復する代わりに、PVC からデータを復元できます。
詳細は、OpenShift Container Platform へのインストール ガイドの PVC の検索および削除 セクションを参照してください。
前提条件
- バックアップを含む既存の PVC がある。
- Red Hat OpenShift Container Platform に Ansible Automation Platform Operator をインストールした。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- All Instances タブに移動し、 をクリックします。
- リストから Ansible Automation Platform Restore を選択します。
- Name にリカバリーデプロイメントの名前を入力します。
- New Ansible Automation Platform Name に、Ansible Automation Platform インスタンスの新しい名前を入力します。
Backup Source で PVC を選択します。
- Backup PVC: PVC の名前を入力します。
- Backup Directory: PVC 上のバックアップディレクトリーへのパスを入力します。
- Backup name に、バックアップの作成時に選択した名前を入力します。
YAML view に次の例を貼り付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - をクリックします。
検証
AnsibleAutomationPlatformRestores タブでバックアップが復元されます。
すべてのリソースが正常に復元されるまで、復元は完了しません。データベースのサイズによっては、時間がかかる場合があります。
- → に移動します。
- すべての Pod が Running または Completed 状態であることを確認します。
3.3. 外部データベースからの Ansible Automation Platform デプロイメントの復元 リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用して、Red Hat OpenShift Container Platform 上の外部データベースを復元できます。外部データベースから復元するには、次の手順を使用します。
外部データベースから復元すると、データベースが強制的に削除され、既存の外部データベースがオーバーライドされます。
前提条件
- 外部データベースがある。
- OpenShift Container Platform に Ansible Automation Platform Operator をインストールした。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- All Instances タブに移動し、 をクリックします。
- リストから Ansible Automation Platform Restore を選択します。
- Name にリカバリーデプロイメントの名前を入力します。
New Ansible Automation Platform Name に、Ansible Automation Platform インスタンスの新しい名前を入力します。
-
同じ名前の Ansible Automation Platform に復元する場合は、復元時にデータベースを削除するために
force_drop_db: trueを追加する必要があります。
-
同じ名前の Ansible Automation Platform に復元する場合は、復元時にデータベースを削除するために
- Backup Source のデフォルトは CR です。
Backup name に、バックアップの作成時に選択した名前を入力します。YAML view に次の例を貼り付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - をクリックします。
検証
AnsibleAutomationPlatformRestores タブでバックアップの復元が開始します。
すべてのリソースが正常に復元されるまで、復元は完了しません。データベースのサイズによっては、時間がかかる場合があります。
回復が成功したかどうかを確認するには、次の手順を実行します。
- → に移動します。
- すべての Pod が Running または Completed 状態であることを確認します。
第4章 トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
この情報を使用して、バックアップおよびリカバリー中の問題を診断および解決します。
4.1. Automation controller のカスタムリソースの名前が既存のデプロイと同じ場合 リンクのコピーリンクがクリップボードにコピーされました!
新しい AutomationController カスタムリソースに指定された名前は、既存のデプロイと一致しない必要があります。そうしないと、復旧プロセスが失敗します。
AutomationController カスタマーリソースが既存のデプロイメントと一致する場合は、次の手順を実行して問題を解決します。
手順
既存の AutomationController と関連する postgres PVC を削除します。
oc delete automationcontroller <YOUR_DEPLOYMENT_NAME> -n <YOUR_NAMESPACE> oc delete pvc postgres-13-<YOUR_DEPLOYMENT_NAME>-13-0 -n <YOUR_NAMESPACE>
oc delete automationcontroller <YOUR_DEPLOYMENT_NAME> -n <YOUR_NAMESPACE> oc delete pvc postgres-13-<YOUR_DEPLOYMENT_NAME>-13-0 -n <YOUR_NAMESPACE>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同じ deployment_name で AutomationControllerRestore を使用します。
oc apply -f restore.yaml
oc apply -f restore.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow