5.19. OADP Self-Service
5.19.1. OADP Self-Service リンクのコピーリンクがクリップボードにコピーされました!
OpenShift API for Data Protection (OADP) 1.5.0 では、OADP Self-Service という名前の新しい機能が導入されており、namespace admin ユーザーは OpenShift Container Platform でアプリケーションをバックアップおよび復元できます。
5.19.1.1. OADP Self-Service について リンクのコピーリンクがクリップボードにコピーされました!
OADP 1.5.0 以降では、バックアップおよび復元操作を実行するために cluster-admin ロールは必要ありません。namespace admin ロールで OADP を使用できます。namespace admin ロールには、ユーザーが割り当てられている namespace のみへの管理者アクセスがあります。
Self-Service 機能は、クラスター管理者が OADP Operator をインストールし、必要なパーミッションを付与した後にのみ使用できます。
OADP Self-Service 機能は、適切なアクセス制御を維持しながら、cluster-admin 権限を持たないユーザーにセキュアなセルフサービスデータ保護機能を提供します。
OADP クラスター管理者は、namespace admin ロールを持つユーザーを作成し、OADP Self-Service アクションを実行するために必要なロールベースアクセス制御 (RBAC) をユーザーに提供します。cluster-admin ロールと比較して、このユーザーのアクセスは制限されているため、このユーザーは namespace admin ユーザーと呼ばれます。
namespace admin ユーザーとして、クラスター上の認可された namespace にデプロイされたアプリケーションをバックアップおよび復元できます。
OADP Self-Service には、次の利点があります。
クラスター管理者として以下を実行します。
- namespace admin ユーザーに対して namespace スコープのバックアップおよび復元操作を許可します。つまり、namespace admin ユーザーは、許可されていない namespace にアクセスできません。
-
管理者以外のユーザーの操作に対しても、
DataProtectionApplicationの設定とポリシーを通じて管理者の制御を維持できます。
namespace admin ユーザーとして、以下を実行できます。
- 認可された namespace のバックアップおよび復元カスタムリソースを作成できます。
- 認可された namespace に専用の Backup Storage Location を作成できます。
- バックアップログとステータス情報にセキュアにアクセスできます。
5.19.1.2. namespace スコープのバックアップおよび復元の意味 リンクのコピーリンクがクリップボードにコピーされました!
OADP Self-Service は、namespace admin ユーザーが認可された namespace 内でのみ動作するようにします。たとえば、namespace admin ユーザーとして namespace にアクセスできない場合は、その namespace をバックアップできません。
namespace admin ユーザーは、他のユーザーのバックアップおよび復元データにアクセスできません。
クラスター管理者は、バックアップおよび復元操作をセキュアに管理するカスタムリソース (CR) を使用して、アクセス制御を適用します。
さらに、クラスター管理者は、CR 内で許可されるオプションを制御し、DataProtectionApplication (DPA) CR の spec 強制を使用して、セキュリティーを強化するために特定の操作を制限できます。
namespace admin ユーザーは、次の Self-Service 操作を実行できます。
- 認可された namespace のバックアップの作成および管理。
- 認可された namespace へのデータの復元。
- 独自の Backup Storage Location の設定。
- バックアップおよび復元のステータスの確認。
- 関連するログの取得の要求。
5.19.1.3. OADP Self-Service カスタムリソース リンクのコピーリンクがクリップボードにコピーされました!
OADP Self-Service 機能には、namespace admin ユーザーのバックアップと復元操作を実行するための次の新しいカスタムリソース (CR) があります。
| CR | 説明 |
|
| Self-Service 操作を制御およびオーケストレーションします。 |
|
| namespace スコープのバックアップ操作を管理します。 |
|
| namespace スコープの復元操作を管理します。 |
|
| ユーザー固有の Backup Storage Location を定義します。 |
|
| namespace スコープのダウンロード要求操作を管理します。 |
5.19.1.4. OADP Self-Service の仕組み リンクのコピーリンクがクリップボードにコピーされました!
次の図では、OADP Self-Service の仕組みの概要を説明します。この図では、以下のワークフローを説明しています。
-
namespace admin ユーザーは、
NonAdminBackup(NAB) カスタムリソース (CR) 要求を作成します。 -
NonAdminController(NAC) CR は NAB CR 要求を受け取ります。 - NAC は要求を検証し、要求に関する NAB CR を更新します。
-
NAC は
Veleroバックアップオブジェクトを作成します。 -
NAC は
Veleroバックアップオブジェクトを監視し、ステータスを NAB CR にカスケードします。
図5.1 OADP Self-Service の仕組み
5.19.1.5. OADP Self-Service の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
OADP Self-Service を namespace admin ユーザーとして使用し始める前に、次の前提条件を満たしていることを確認してください。
-
クラスター管理者が OADP
DataProtectionApplication(DPA) CR を設定して Self-Service を有効化している。 クラスター管理者が以下のタスクを完了している。
-
namespace
adminユーザーアカウントを作成している。 -
namespace
adminユーザーの namespace を作成している。 - namespace admin ユーザーの namespace に適切な権限が割り当てられている。これにより、namespace admin ユーザーには、割り当てられた namespace にアクセスし、バックアップおよび復元操作を実行する権限が与えられます。
-
namespace
-
必要に応じて、クラスター管理者は namespace
adminユーザー用のNonAdminBackupStorageLocation(NABSL) CR を作成できます。
5.19.1.6. OADP Self-Service namespace パーミッション リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、以下のオブジェクトリストに対する編集者ロールが、namespace で namespace admin ユーザーに割り当てられていることを確認します。これらのオブジェクトにより、namespace admin ユーザーが自分の namespace でバックアップおよび復元操作を行うことができます。
-
nonadminbackups.oadp.openshift.io -
nonadminbackupstoragelocations.oadp.openshift.io -
nonadminrestores.oadp.openshift.io -
nonadmindownloadrequests.oadp.openshift.io
namespace admin ロールの詳細は、デフォルトのクラスターロール を参照してください。
クラスター管理者は、独自の仕様を定義して、ユーザーに project または namespace admin ロールと同様の権限を持たせることもできます。
5.19.1.6.1. バックアップ操作用の RBAC YAML の例 リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーがバックアップ操作を実行できるようにするための、namespace パーミッションを含むロールベースアクセス制御 (RBAC) YAML ファイルの以下の例を参照してください。
RBAC マニフェストの例
5.19.1.7. OADP Self-Service の制限 リンクのコピーリンクがクリップボードにコピーされました!
次の機能は、OADP Self-Service ではサポートされていません。
- クラスター間のバックアップと復元、または移行はサポートされていません。これらの OADP 操作はクラスター管理者に対してサポートされています。
-
namespace
adminユーザーは、VolumeSnapshotLocation(VSL) CR を作成できません。クラスター管理者は、namespaceadminユーザーのDataProtectionApplication(DPA) CR で VSL を作成して設定します。 -
ResourceModifiersCR とボリュームポリシーは、namespaceadminユーザーに対してはサポートされていません。 namespace
adminユーザーは、NonAdminBackupStorageLocationCR を使用するユーザーによってバックアップまたは復元が作成されている場合にのみ、NonAdminDownloadRequestCR を使用してバックアップまたは復元ログを要求できます。バックアップまたは復元 CR がクラスター全体のデフォルトの Backup Storage Location を使用して作成されている場合、namespace
adminユーザーはバックアップまたは復元ログを要求できません。セキュアなバックアップおよび復元を確保するために、OADP Self-Service は次の CR がバックアップまたは復元されないように自動的に除外します。
-
NonAdminBackup -
NonAdminRestore -
NonAdminBackupStorageLocation -
SecurityContextConstraints -
ClusterRole -
ClusterRoleBinding -
CustomResourceDefinition -
PriorityClasses -
VirtualMachineClusterInstanceTypes -
VirtualMachineClusterPreferences
-
5.19.1.8. OADP Self-Service のバックアップおよび復元フェーズ リンクのコピーリンクがクリップボードにコピーされました!
NonAdminBackup (NAB) カスタムリソース (CR) および NonAdminRestore (NAR) CR の status.phase フィールドは、CR の現在の状態の概要を提供します。次の表の NAB フェーズと NAR フェーズの値を確認します。
CR のフェーズは前にのみ進みます。あるフェーズが次のフェーズに移行すると、前のフェーズに戻ることはできません。
| 値 | 説明 |
|
| NAB または NAR CR の作成要求が NAC によって受け付けられましたが、まだ NAC によって検証されていません。 |
|
|
NAB または NAR CR の無効な
namespace admin ユーザーは、NAB または NAR |
|
|
NAB または NAR CR は NAC によって検証され、 |
|
|
NAB または NAR CR が削除対象としてマークされています。NAC は、対応する |
5.19.1.9. NonAdminBackupStorageLocation CR について リンクのコピーリンクがクリップボードにコピーされました!
namespace 管理者は、バックアップデータを保存するために NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) を作成できます。
NABSL CR が作成され、セキュアに使用されるようにするには、クラスター管理者の制御を使用します。クラスター管理者は、NABSL CR を管理し、会社ポリシーおよびコンプライアンス要件に準拠します。
次のワークフローのいずれかを使用して、NABSL CR を作成できます。
-
管理者作成ワークフロー: このワークフローでは、クラスター管理者は namespace admin ユーザーの NABSL CR を作成します。次に、namespace admin ユーザーは
NonAdminBackupCR の NABSL を参照します。 管理者承認ワークフロー: クラスター管理者は、
nonAdmin.requireApprovalForBSLフィールドをtrueに設定して、DPA でこのオプトイン機能を明示的に有効にする必要があります。クラスター管理者の承認プロセスは以下のように実行されます。-
namespace admin ユーザーは NABSL CR を作成します。管理者は DPA で承認プロセスを適用しているため、
openshift-adpnamespace でのNonAdminBackupStorageLocationRequestCR の作成がトリガーされます。 クラスター管理者は要求を確認し、要求を承認または拒否します。
-
承認されると、
VeleroBackupStorageLocation(BSL) がopenshift-adpnamespace に作成され、NABSL CR のステータスが更新されて承認が反映されます。 - 拒否されると、NABSL CR のステータスは、拒否を反映するように更新されます。
-
承認されると、
-
クラスター管理者は、以前に承認された NABSL CR を取り消すこともできます。
approveフィールドは、pendingまたはrejectに戻されます。これにより、VeleroBSL が削除され、namespace admin ユーザーに拒否が通知されます。
-
namespace admin ユーザーは NABSL CR を作成します。管理者は DPA で承認プロセスを適用しているため、
-
自動承認ワークフロー: このワークフローでは、DPA の
nonAdmin.requireApprovalForBSLフィールドをfalseに設定して、クラスター管理者による NABSL CR の承認プロセスを強制しません。このフィールドのデフォルト値はfalseです。フィールドを設定しないと、NABSL が自動的に承認されます。そのため、namespace admin ユーザーは認可された namespace から NABSL CR を作成できます。
セキュリティー上の理由から、管理者の作成または管理者の承認ワークフローのいずれかを使用してください。自動承認ワークフローは、管理者のレビューを必要としないため、安全性が低くなります。
5.19.2. OADP Self-Service クラスター管理者のユースケース リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、以下のシナリオで Self-Service 機能を使用できます。
- OADP Self-Service の有効化または無効化。
- NABSL カスタムリソース (CR) の承認または拒否。
-
DataProtectionApplication(DPA) CR でのテンプレートポリシーの適用。
5.19.2.1. OADP Self-Service の有効化と無効化 リンクのコピーリンクがクリップボードにコピーされました!
OADP Self-Service 機能を有効にするには、クラスター管理者である必要があります。DataProtectionApplication (DPA) カスタムリソース (CR) の spec.nonAdmin.enable セクションを使用して、Self-Service 機能を有効化または無効化できます。
Self-Service 機能を有効にすると、OADP Operator namespace に NonAdminController (NAC) CR がインストールされます。
NonAdminController (NAC) CR のインスタンスは、クラスター内に 1 つだけインストールできます。NAC CR の複数のインスタンスをインストールすると、次のエラーが発生します。
エラーの例
message: only a single instance of Non-Admin Controller can be installed across the entire cluster. Non-Admin controller is already configured and installed in openshift-adp namespace.
message: only a single instance of Non-Admin Controller can be installed across the entire cluster. Non-Admin controller is already configured and installed in openshift-adp namespace.
前提条件
-
cluster-adminロールでクラスターにログイン済みである。 - OADP Operator がインストールされている。
- DPA が設定されている。
手順
OADP Self-Service を有効にするには、DPA CR を編集して
nonAdmin.enableセクションを設定します。次の設定例を参照してください。DataProtectionApplicationCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
NonAdminController(NAC) Pod が OADP namespace で実行されていることを確認するには、次のコマンドを実行します。oc get pod -n openshift-adp -l control-plane=non-admin-controller
$ oc get pod -n openshift-adp -l control-plane=non-admin-controllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE non-admin-controller-5d....f5-p..9p 1/1 Running 0 99m
NAME READY STATUS RESTARTS AGE non-admin-controller-5d....f5-p..9p 1/1 Running 0 99mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.19.2.2. NonAdminBackupStorageLocation 管理者の承認ワークフローの有効化 リンクのコピーリンクがクリップボードにコピーされました!
NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) 管理者承認ワークフローは、オプトイン機能です。クラスター管理者は、nonAdmin.requireApprovalForBSL フィールドを true に設定して、DataProtectionApplication (DPA) CR で機能を明示的に有効にする必要があります。
また、DPA CR の noDefaultBackupLocation フィールドを true に設定する必要があります。この設定は、DPA CR にデフォルトの Backup Storage Location が設定されておらず、namespace admin ユーザーが NABSL CR を作成し、承認のために CR 要求を送信できることを示します。
前提条件
-
cluster-adminロールでクラスターにログイン済みである。 - OADP Operator がインストールされている。
-
DataProtectionApplicationCR で OADP Self-Service を有効化している。
5.19.2.3. NonAdminBackupStorageLocation 要求の承認 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、NonAdminBackupStorageLocation (NABSL) CR リクエストを承認するには、NonAdminBackupStorageLocationRequest CR を編集し、approvalDecision フィールドを approve に設定します。
前提条件
-
cluster-adminロールでクラスターにログイン済みである。 - OADP Operator がインストールされている。
-
DataProtectionApplication(DPA) CR で OADP Self-Service を有効にしている。 - DPA で NABSL CR 承認ワークフローを有効化している。
手順
管理者承認のためにキューにある NABSL CR 要求を表示するには、次のコマンドを実行します。
oc -n openshift-adp get NonAdminBackupStorageLocationRequests
$ oc -n openshift-adp get NonAdminBackupStorageLocationRequestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME REQUEST-PHASE REQUEST-NAMESPACE REQUEST-NAME AGE non-admin-bsl-test-.....175 Approved non-admin-bsl-test incorrect-bucket-nabsl 4m57s non-admin-bsl-test-.....196 Approved non-admin-bsl-test perfect-nabsl 5m26s non-admin-bsl-test-s....e1a Rejected non-admin-bsl-test suspicious-sample 2m56s non-admin-bsl-test-.....5e0 Pending non-admin-bsl-test waitingapproval-nabsl 4m20s
NAME REQUEST-PHASE REQUEST-NAMESPACE REQUEST-NAME AGE non-admin-bsl-test-.....175 Approved non-admin-bsl-test incorrect-bucket-nabsl 4m57s non-admin-bsl-test-.....196 Approved non-admin-bsl-test perfect-nabsl 5m26s non-admin-bsl-test-s....e1a Rejected non-admin-bsl-test suspicious-sample 2m56s non-admin-bsl-test-.....5e0 Pending non-admin-bsl-test waitingapproval-nabsl 4m20sCopy to Clipboard Copied! Toggle word wrap Toggle overflow NABSL CR 要求を承認するには、次のコマンドを実行して
approvalDecisionフィールドをapproveに設定します。oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "approve"}}'$ oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "approve"}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
NonAdminBackupStorageLocationRequestCR の名前を指定します。
検証
次のコマンドを実行して、Velero Backup Storage Location が作成され、フェーズが
Availableであることを確認します。oc get velero.io.backupstoragelocation
$ oc get velero.io.backupstoragelocationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME PHASE LAST VALIDATED AGE DEFAULT test-nac-test-bsl-cd...930 Available 62s 62s
NAME PHASE LAST VALIDATED AGE DEFAULT test-nac-test-bsl-cd...930 Available 62s 62sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.19.2.4. NonAdminBackupStorageLocation 要求の拒否 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) 要求を拒否するには、NonAdminBackupStorageLocationRequest CR を編集して approvalDecision フィールドを reject に設定します。
前提条件
-
cluster-adminロールでクラスターにログイン済みである。 - OADP Operator がインストールされている。
-
DataProtectionApplication(DPA) CR で OADP Self-Service を有効にしている。 - DPA で NABSL CR 承認ワークフローを有効化している。
手順
管理者承認のためにキューにある NABSL CR 要求を表示するには、次のコマンドを実行します。
oc -n openshift-adp get NonAdminBackupStorageLocationRequests
$ oc -n openshift-adp get NonAdminBackupStorageLocationRequestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NABSL CR 要求を拒否するには、次のコマンドを実行して、
approvalDecisionフィールドをrejectに設定します。oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "reject"}}'$ oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "reject"}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
NonAdminBackupStorageLocationRequestCR の名前を指定します。
5.19.2.5. OADP Self-Service 管理者 DPA 仕様の適用 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、DataProtectionApplication (DPA) 仕様テンプレートでポリシーを適用できます。仕様の適用は、NonAdminBackup、NonAdminRestore、NonAdminBackupStorageLocation などの Self-Service カスタムリソース (CR) に適用されます。
クラスター管理者は、DataProtectionApplication (DPA) CR で次のフィールドを使用して、会社またはコンプライアンスポリシーを適用できます。
enforceBSLSpec-
NonAdminBackupStorageLocationCR でポリシーを適用する場合。 enforceBackupSpec-
NonAdminBackupCR でポリシーを適用する場合。 enforceRestoreSpec-
NonAdminRestoreCR でポリシーを適用する場合。
強制可能なフィールドを使用することで、管理者は、namespace admin ユーザーが作成した NABSL、NAB、および NAR CR が管理者定義のポリシーに準拠することを確認できます。
5.19.2.6. NABSL の Self-Service 管理者仕様の適用 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) に次のフィールドを適用できます。
-
objectStorage -
credential -
config -
accessMode -
validationFrequency
たとえば、namespace admin ユーザーが特定のストレージバケットを使用するように適用する場合は、DataProtectionApplication (DPA) CR を以下のようにセットアップできます。
DataProtectionApplication CR の例
namespace admin ユーザーが NABSL を作成する場合、DPA で設定されたテンプレートに従う必要があります。それ以外の場合は、NABSL CR の status.phase フィールドが BackingOff に設定され、NABSL は作成に失敗します。
5.19.2.7. NAB の Self-Service 管理者仕様の適用 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、NonAdminBackup (NAB) CR に次のフィールドを適用できます。
-
csiSnapshotTimeout -
itemOperationTimeout -
resourcePolicy -
includedResources -
excludedResources -
orderedResources -
includeClusterResources -
excludedClusterScopedResources -
excludedNamespaceScopedResources -
includedNamespaceScopedResources -
labelSelector -
orLabelSelectors -
snapshotVolumes -
ttl -
snapshotMoveData -
uploaderConfig.parallelFilesUpload
namespace admin ユーザーの ttl 値と Data Mover バックアップを適用する場合は、次の例のように DataProtectionApplication (DPA) CR をセットアップできます。
DataProtectionApplication CR の例
namespace admin ユーザーが NAB CR を作成する場合、DPA でセットアップされたテンプレートに従う必要があります。それ以外の場合は、NAB CR の status.phase フィールドが BackingOff に設定され、NAB CR は作成に失敗します。
5.19.2.8. NAR の Self-Service 管理者仕様の適用 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、NonAdminRestore (NAR) カスタムリソース (CR) に次のフィールドを適用できます。
-
itemOperationTimeout -
uploaderConfig -
includedResources -
excludedResources -
restoreStatus -
includeClusterResources -
labelSelector -
orLabelSelectors -
restorePVs -
preserveNodePorts
5.19.3. OADP Self-Service namespace admin のユースケース リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーは、以下のシナリオで Self-Service 機能を使用できます。
- 認可された namespace に Backup Storage Location を作成する。
-
NonAdminBackup(NAB) カスタムリソース (CR) を作成する。 -
NonAdminRestore(NAR) CR を作成する。 - NAB ログおよび NAR ログを確認する。
5.19.3.1. NonAdminBackupStorageLocation CR の作成 リンクのコピーリンクがクリップボードにコピーされました!
NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) を認可された namespace に作成できます。クラスター管理者が NABSL CR 要求を承認した後、NonAdminBackup CR 仕様で NABSL CR を使用できます。
前提条件
- namespace admin ユーザーとしてクラスターにログインしている。
- クラスター管理者が OADP Operator をインストールしている。
-
クラスター管理者が
DataProtectionApplication(DPA) CR を設定して OADP Self-Service を有効化している。 - クラスター管理者が namespace を作成し、その namespace からの操作を許可されている。
手順
クラウドプロバイダーのクラウド認証情報ファイルの内容を使用して
SecretCR を作成します。以下のコマンドを実行します。oc create secret generic cloud-credentials -n test-nac-ns --from-file <cloud_key_name>=<cloud_credentials_file>
$ oc create secret generic cloud-credentials -n test-nac-ns --from-file <cloud_key_name>=<cloud_credentials_file>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この例では、
Secret名はcloud-credentialsで、認可された namespace 名はtest-nac-nsです。<cloud_key_name>および<cloud_credentials_file>は、それぞれクラウドキー名とクラウド認証情報ファイル名に置き換えます。
NonAdminBackupStorageLocationCR を作成するには、以下の設定で YAML マニフェストファイルを作成します。NonAdminBackupStorageLocationCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow NABSL CR 設定を適用するには、次のコマンドを実行します。
oc apply -f <nabsl_cr_filename>
$ oc apply -f <nabsl_cr_filename>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<nabsl_cr_filename>は、NABSL CR 設定を含むファイル名に置き換えます。
検証
NABSL CR が
Newフェーズにあり、管理者承認が保留であることを確認するには、次のコマンドを実行します。oc get nabsl test-nabsl -o yaml
$ oc get nabsl test-nabsl -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター管理者が
NonAdminBackupStorageLocationRequestCR 要求を承認した後、次のコマンドを実行して、NABSL CR が正常に作成されたことを確認します。oc get nabsl test-nabsl -o yaml
$ oc get nabsl test-nabsl -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- NABSL
specは、クラスター管理者によって検証され、承認されます。 - 2
secretオブジェクトはopenshift-adpnamespace に正常に作成されます。- 3
- 関連付けられた
VeleroBackupStorageLocationは、openshift-adpnamespace に正常に作成されます。 - 4
nacuuidNAC は NABSL CR をオーケストレーションします。- 5
- 関連付けられた
VeleroBackup Storage Location オブジェクトの名前。 - 6
Availableフェーズは、NABSL が使用できる状態であることを示します。
5.19.3.2. NonAdminBackup CR の作成 リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーは、NonAdminBackup (NAB) カスタムリソース (CR) を作成して、認可された namespace からアプリケーションをバックアップできます。NAB は、Velero バックアップオブジェクトの作成をセキュアに容易化する OpenShift Container Platform CR です。Velero バックアップオブジェクトは、最終的に status.phase フィールドを更新する NAB CR にステータスを報告します。
NAB CR の作成後、CR は次のフェーズを経ます。
-
CR の初期フェーズは
Newです。 -
CR 作成要求は、調整および検証のために
NonAdminController(NAC) に送信されます。 -
Veleroバックアップオブジェクトの検証と作成が正常に行われると、NAB CR のstatus.phaseフィールドは次のフェーズ (Created) に更新されます。
NAB CR を作成する際は、以下の重要な点を確認してください。
-
NonAdminBackupCR はVeleroバックアップオブジェクトをセキュアに作成し、他の namespace admin ユーザーが CR にアクセスできないようにします。 - namespace admin ユーザーは、NAB CR で認可された namespace のみを指定できます。使用することを認可されていない namespace を指定すると、エラーが発生します。
前提条件
- namespace admin ユーザーとしてクラスターにログインしている。
- クラスター管理者が OADP Operator をインストールしている。
-
クラスター管理者が
DataProtectionApplication(DPA) CR を設定して OADP Self-Service を有効化している。 - クラスター管理者が namespace を作成し、その namespace からの操作を許可されている。
-
オプション:
NonAdminBackupStorageLocation(NABSL) CR を作成して使用することで、バックアップデータを保存できます。NABSL CR を使用しない場合、バックアップは DPA で設定されたデフォルトの Backup Storage Location に保存されます。
手順
NonAdminBackupCR を作成するには、次の設定で YAML マニフェストファイルを作成します。NonAdminBackupCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- NAB CR の名前を指定します (例:
test-nab)。 - 2
- File System Backup (FSB) を使用するには、
defaultVolumesToFsBackupをtrueに設定します。 - 3
- Data Mover を使用してデータボリュームをバックアップする場合は、
snapshotMoveDataをtrueに設定します。この例では、バックアップに FSB を使用しています。 - 4
- 必要に応じて、NABSL CR をストレージの場所として設定します。
storageLocationを設定しないと、DPA に設定されたデフォルトの Backup Storage Location が使用されます。
NAB CR 設定を適用するには、次のコマンドを実行します。
oc apply -f <nab_cr_filename>
$ oc apply -f <nab_cr_filename>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- NAB CR 設定を含むファイル名を指定します。
検証
NAB CR が正常に作成されたことを確認するには、次のコマンドを実行します。
oc get nab test-nab -o yaml
$ oc get nab test-nab -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
NonAdminControllerCR がVeleroバックアップオブジェクトに設定してバックアップする namespace 名。- 2
- NAC は NAB CR を調整および検証し、
Veleroバックアップオブジェクトを作成しました。 - 3
fileSystemPodVolumeBackupsフィールドは、FSB を使用してバックアップされるボリュームの数を示します。- 4
- NAB CR は
Createdフェーズにあります。 - 5
- このフィールドは、バックアップオブジェクトのキューの位置を示します。プロセス内に複数のバックアップが存在する可能性があり、各バックアップオブジェクトにはキューの位置が割り当てられます。バックアップが完了すると、キューの位置は
0に設定されます。 - 6
- NAC は
Veleroバックアップオブジェクトを作成し、nacuuidフィールドの値を設定します。 - 7
- 関連付けられた
Veleroバックアップオブジェクトの名前。 - 8
Veleroバックアップオブジェクトのステータス。- 9
VeleroバックアップオブジェクトはCompletedフェーズにあり、バックアップは成功しました。
5.19.3.3. NonAdminRestore CR の作成 リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーは、NonAdminRestore (NAR) カスタムリソース (CR) を作成し、バックアップを復元できます。バックアップは、認可された namespace に復元されます
前提条件
- namespace admin ユーザーとしてクラスターにログインしている。
- クラスター管理者が OADP Operator をインストールしている。
-
クラスター管理者が
DataProtectionApplication(DPA) CR を設定して OADP Self-Service を有効化している。 - クラスター管理者が namespace を作成し、その namespace からの操作を許可されている。
-
NonAdminBackup(NAB) CR を作成することで、アプリケーションがバックアップされている。
手順
NonAdminRestoreCR を作成するには、次の設定で YAML マニフェストファイルを作成します。NonAdminRestoreCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAR CR 設定を適用するには、次のコマンドを実行します。
oc apply -f <nar_cr_filename>
$ oc apply -f <nar_cr_filename>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<nar_cr_filename>は、NAR CR 設定を含むファイル名に置き換えます。
検証
NAR CR が正常に作成されたことを確認するには、次のコマンドを実行します。
oc get nar test-nar -o yaml
$ oc get nar test-nar -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
NonAdminController(NAC) CR は NAR CR を調整および検証しました。- 2
fileSystemPodVolumeRestoresフィールドは、復元されたボリュームの数を示します。- 3
- NAR CR は
Createdフェーズにあります。 - 4
- このフィールドは、復元オブジェクトのキューの位置を示します。プロセス内に複数の復元が存在する可能性があり、各復元にはキューの位置が割り当てられます。復元が完了すると、キューの位置は
0に設定されます。 - 5
- NAC は
Velero復元オブジェクトを作成し、値をnacuuidに設定します。 - 6
- 関連付けられた
Velero復元オブジェクトの名前。 - 7
Velero復元オブジェクトはCompletedフェーズにあり、復元は正常に行われています。
5.19.3.4. NonAdminDownloadRequest CR について リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーは、NonAdminDownloadRequest (NADR) カスタムリソース (CR) を使用して、トラブルシューティングのためにバックアップおよび復元に関する詳細情報にアクセスできます。
この CR は、velero backup describe --details コマンドを使用して、クラスター管理者がアクセスできるものと同等の情報を提供します。
NADR CR 要求が検証された後、要求された情報にアクセスするためのセキュアなダウンロード URL が生成されます。
次の NADR リソースをダウンロードできます。
| Resource type | 説明 | 以下に相当 |
|
| バックアップに含まれるリソースの一覧 |
|
|
| バックアップされたファイルの内容 | バックアップの詳細の一部 |
|
| バックアップ操作からのログ |
|
|
| ボリュームスナップショットに関する情報 |
|
|
| バックアップ中に実行されたアイテム操作に関する情報 |
|
|
| 復元操作からのログ |
|
|
| 復元結果の詳細 |
|
5.19.3.5. NAB ログと NAR ログの確認 リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーは、NonAdminDownloadRequest (NADR) CR を作成して、NonAdminBackup (NAB) および NonAdminRestore (NAR) カスタムリソース (CR) のログを確認できます。
NAB ログは、バックアップの Backup Storage Location として NonAdminBackupStorageLocation (NABSL) CR を使用している場合にのみ確認できます。
前提条件
- namespace admin ユーザーとしてクラスターにログインしている。
- クラスター管理者が OADP Operator をインストールしている。
-
クラスター管理者が
DataProtectionApplication(DPA) CR を設定して OADP Self-Service を有効化している。 - クラスター管理者が namespace を作成し、その namespace からの操作を許可されている。
- NAB CR の作成によるアプリケーションのバックアップがある。
- NAR CR の作成によりアプリケーションを復元している。
手順
NAB CR ログを確認するには、以下の例のように
NonAdminDownloadRequestCR を作成し、NAB CR 名を指定します。NonAdminDownloadRequestCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、NADR CR の処理を確認します。
oc get nadr test-nadr-backup -o yaml
$ oc get nadr test-nadr-backup -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
status.downloadURLURL を使用して、バックアップ情報をダウンロードして分析します。 NAR CR ログを確認するには、
NonAdminDownloadRequestCR を作成し、次の例に示すように NAR CR 名を指定します。NonAdminDownloadRequestCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、NADR CR の処理を確認します。
oc get nadr test-nadr-restore -o yaml
$ oc get nadr test-nadr-restore -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
status.downloadURLURL を使用して、復元情報をダウンロードして分析します。
5.19.4. OADP Self-Service のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
次のセクションを使用して、OADP Self-Service を使用する場合の一般的なエラーをトラブルシューティングできます。
5.19.4.1. NonAdminBackupStorageLocation not found in the namespace エラー リンクのコピーリンクがクリップボードにコピーされました!
namespace admin バックアップの以下のシナリオを検討してください。
-
2 つの異なる namespace (例:
namespace-1のnabsl-1およびnamespace-2のnabsl-2) に 2 つのNonAdminBackupStorageLocations(NABL) カスタムリソース (CR) を作成している。 -
namespace-1のバックアップを取得し、NonAdminBackup(NAB) CR でnabsl-2を使用している。
このシナリオでは、NAB CR の作成後に次のエラーが発生します。
NonAdminBackupStorageLocation not found in the namespace: NonAdminBackupStorageLocation.oadp.openshift.io
NonAdminBackupStorageLocation not found in the namespace: NonAdminBackupStorageLocation.oadp.openshift.io
このエラーの原因は、NABSL CR がバックアップしようとしている namespace に属していないことです。
Error
解決方法
バックアップしようとしているのと同じ namespace に属する NABSL を使用します。
このシナリオでは、NAB CR の nabsl-1 を使用して、namespace-1 をバックアップする必要があります。
5.19.4.2. NonAdminBackupStorageLocation をデフォルトとして設定することができない リンクのコピーリンクがクリップボードにコピーされました!
管理者以外のユーザーとして、認可された namespace に NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) を作成している場合は、NABSL CR をデフォルトの Backup Storage Location として設定することはできません。
このようなシナリオでは、NABSL CR が検証に失敗し、NonAdminController (NAC) でエラーメッセージが表示されます。
NABSL エラーの例
解決方法
NABSL CR を正常に検証および調整するには、NABSL CR で default フィールドが false に設定されていることを確認します。