3.11. 障害復旧ソリューションをテストするためのサンプルアプリケーションを作成する
OpenShift Data Foundation Disaster Recovery (DR) ソリューションは、RHACM によって管理されるサブスクリプションベースおよび ApplicationSet ベースのアプリケーションの障害復旧をサポートします。詳細は、サブスクリプション と ApplicationSet のドキュメントを参照してください。
次のセクションでは、アプリケーションを作成して DRPolicy をアプリケーションに適用する方法を詳しく説明します。
cluster-admin パーミッションを持たない OpenShift ユーザーは、ナレッジ記事 で、障害復旧アクションを実行するために必要なパーミッションをアプリケーションユーザーに割り当てる方法を参照してください。
クラスター管理者権限を持たない OpenShift ユーザーは、ApplicationSet ベースのアプリケーションを作成できません。
3.11.1. サブスクリプションベースのアプリケーション リンクのコピーリンクがクリップボードにコピーされました!
3.11.1.1. サンプルのサブスクリプションベースのアプリケーションを作成する リンクのコピーリンクがクリップボードにコピーされました!
プライマリーマネージドクラスター から セカンダリーマネージドクラスター への failover および relocate をテストするには、サンプルアプリケーションが必要です。
前提条件
- 一般消費用のアプリケーションを作成する場合は、アプリケーションが 1 つのクラスターのみにデプロイされるようにします。
-
busyboxというサンプルアプリケーションを例として使用します。 - アプリケーションのすべての外部ルートが、アプリケーションがフェイルオーバーまたは再配置されたときのトラフィックリダイレクト用に Global Traffic Manager (GTM) または Global Server Load Balancing (GLSB) サービスを使用して設定されていることを確認します。
ベストプラクティスとして、一緒に属する Red Hat Advanced Cluster Management (RHACM) サブスクリプションをグループ化し、それらをグループとして DR で保護する単一の配置ルールを参照します。さらに、フェイルオーバーや再配置などの将来の DR アクションのために、その配置ルールを、サブスクリプションを論理的にグループ化する単一のアプリケーションとして作成します。
注記関連のないサブスクリプションが配置アクションで同じ配置ルールを参照している場合、配置ルールを参照するすべてのサブスクリプションが DR ワークフローによって制御されるため、これらのサブスクリプションも DR で保護されます。
手順
- ハブクラスターで、Applications に移動し、Create application をクリックします。
- 種類は Subscription を選択します。
-
アプリケーションの Name (
busyboxなど) および Namespace (busybox-sampleなど) を入力します。 -
Repository location for resources セクションで Repository type
Gitを選択します。 サンプルアプリケーションの github Branch および Path で、Git リポジトリー URL を入力します。リソース
busyboxPod および PVC が作成されます。サンプルアプリケーションリポジトリーに
https://github.com/red-hat-storage/ocm-ramen-samplesを使用します。Branch はrelease-4.16、Path はbusybox-odr-metroです。Deploy application resources on clusters with all specified labels が表示されるまで、フォームを下にスクロールします。
- グローバル Cluster sets、またはお使いの環境で、正しいマネージドクラスターが含まれるクラスターを選択します。
- ラベル <name> を追加し、その値を マネージドクラスター 名に設定します。
右上隅にある 作成 をクリックします。
後続の画面で、
Topologyタブに移動します。アプリケーショントポロジーのチェックマークがすべて緑であることが確認できるはずです。注記詳細な情報を表示するには、トポロジー要素のいずれかをクリックすると、トポロジービューの右側にウィンドウが表示されます。
サンプルアプリケーションのデプロイを検証しています。
busyboxアプリケーションが優先クラスターにデプロイされたので、デプロイを検証できます。RHACM によって
busyboxがデプロイされたマネージドクラスターにログインします。$ oc get pods,pvc -n busybox-sample出力例:
NAME READY STATUS RESTARTS AGE pod/busybox-67bf494b9-zl5tr 1/1 Running 0 77s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/busybox-pvc Bound pvc-c732e5fe-daaf-4c4d-99dd-462e04c18412 5Gi RWO ocs-storagecluster-ceph-rbd 77s
3.11.1.2. サンプルアプリケーションにデータポリシーを適用する リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- データポリシーで参照される両方のマネージドクラスターがアクセス可能である。そうでない場合、両方のクラスターがオンラインになるまで、アプリケーションが障害復旧で保護されません。
手順
-
ハブクラスターで、All Clusters
Applications に移動します。 - アプリケーションの最後にあるアクションメニューをクリックして、使用可能なアクションのリストを表示します。
- Manage disaster recovery をクリックします。
- Enroll application をクリックします。
- Policy を選択し、Next をクリックします。
Application resource を選択し、PVC label selector を使用して、選択したアプリケーションリソースの
PVC labelを選択します。注記選択したアプリケーションリソースに対して複数の PVC ラベルを選択できます。Add application resource オプションを使用して、複数のリソースを追加することもできます。
- すべてのアプリケーションリソースを追加したら、Next をクリックします。
-
Policy configuration detailsを確認し、Assign をクリックします。新しく割り当てられたデータポリシーは、障害復旧の管理モーダルリストビューに表示されます。 アプリケーションページで、割り当てられたポリシーの詳細を表示できることを確認します。
- アプリケーションページで、Data policy 列に移動し、policy link をクリックしてビューをデプロイメントします。
- 割り当てられたポリシーの数と、フェイルオーバーおよび再配置のステータスが表示されることを確認します。
- View more details をクリックして、アプリケーションで使用されているポリシーによる進行中のアクティビティーのステータスを表示します。