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 を作成して設定します。 -
ResourceModifiers
CR とボリュームポリシーは、namespaceadmin
ユーザーに対してはサポートされていません。 namespace
admin
ユーザーは、NonAdminBackupStorageLocation
CR を使用するユーザーによってバックアップまたは復元が作成されている場合にのみ、NonAdminDownloadRequest
CR を使用してバックアップまたは復元ログを要求できます。バックアップまたは復元 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 ユーザーは
NonAdminBackup
CR の NABSL を参照します。 管理者承認ワークフロー: クラスター管理者は、
nonAdmin.requireApprovalForBSL
フィールドをtrue
に設定して、DPA でこのオプトイン機能を明示的に有効にする必要があります。クラスター管理者の承認プロセスは以下のように実行されます。-
namespace admin ユーザーは NABSL CR を作成します。管理者は DPA で承認プロセスを適用しているため、
openshift-adp
namespace でのNonAdminBackupStorageLocationRequest
CR の作成がトリガーされます。 クラスター管理者は要求を確認し、要求を承認または拒否します。
-
承認されると、
Velero
BackupStorageLocation
(BSL) がopenshift-adp
namespace に作成され、NABSL CR のステータスが更新されて承認が反映されます。 - 拒否されると、NABSL CR のステータスは、拒否を反映するように更新されます。
-
承認されると、
-
クラスター管理者は、以前に承認された NABSL CR を取り消すこともできます。
approve
フィールドは、pending
またはreject
に戻されます。これにより、Velero
BSL が削除され、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
セクションを設定します。次の設定例を参照してください。DataProtectionApplication
CR の例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-controller
Copy 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 99m
Copy 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 がインストールされている。
-
DataProtectionApplication
CR で 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 NonAdminBackupStorageLocationRequests
Copy 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 4m20s
Copy 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
NonAdminBackupStorageLocationRequest
CR の名前を指定します。
検証
次のコマンドを実行して、Velero Backup Storage Location が作成され、フェーズが
Available
であることを確認します。oc get velero.io.backupstoragelocation
$ oc get velero.io.backupstoragelocation
Copy 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 62s
Copy 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 NonAdminBackupStorageLocationRequests
Copy 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
NonAdminBackupStorageLocationRequest
CR の名前を指定します。
5.19.2.5. OADP Self-Service 管理者 DPA 仕様の適用 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、DataProtectionApplication
(DPA) 仕様テンプレートでポリシーを適用できます。仕様の適用は、NonAdminBackup
、NonAdminRestore
、NonAdminBackupStorageLocation
などの Self-Service カスタムリソース (CR) に適用されます。
クラスター管理者は、DataProtectionApplication
(DPA) CR で次のフィールドを使用して、会社またはコンプライアンスポリシーを適用できます。
enforceBSLSpec
-
NonAdminBackupStorageLocation
CR でポリシーを適用する場合。 enforceBackupSpec
-
NonAdminBackup
CR でポリシーを適用する場合。 enforceRestoreSpec
-
NonAdminRestore
CR でポリシーを適用する場合。
強制可能なフィールドを使用することで、管理者は、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 からの操作を許可されている。
手順
クラウドプロバイダーのクラウド認証情報ファイルの内容を使用して
Secret
CR を作成します。以下のコマンドを実行します。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>
は、それぞれクラウドキー名とクラウド認証情報ファイル名に置き換えます。
NonAdminBackupStorageLocation
CR を作成するには、以下の設定で YAML マニフェストファイルを作成します。NonAdminBackupStorageLocation
CR の例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 yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター管理者が
NonAdminBackupStorageLocationRequest
CR 要求を承認した後、次のコマンドを実行して、NABSL CR が正常に作成されたことを確認します。oc get nabsl test-nabsl -o yaml
$ oc get nabsl test-nabsl -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- NABSL
spec
は、クラスター管理者によって検証され、承認されます。 - 2
secret
オブジェクトはopenshift-adp
namespace に正常に作成されます。- 3
- 関連付けられた
Velero
BackupStorageLocation
は、openshift-adp
namespace に正常に作成されます。 - 4
nacuuid
NAC は NABSL CR をオーケストレーションします。- 5
- 関連付けられた
Velero
Backup 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 を作成する際は、以下の重要な点を確認してください。
-
NonAdminBackup
CR は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 に保存されます。
手順
NonAdminBackup
CR を作成するには、次の設定で YAML マニフェストファイルを作成します。NonAdminBackup
CR の例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 yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
NonAdminController
CR が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 を作成することで、アプリケーションがバックアップされている。
手順
NonAdminRestore
CR を作成するには、次の設定で YAML マニフェストファイルを作成します。NonAdminRestore
CR の例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 yaml
Copy 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 ログを確認するには、以下の例のように
NonAdminDownloadRequest
CR を作成し、NAB CR 名を指定します。NonAdminDownloadRequest
CR の例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 yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
status.downloadURL
URL を使用して、バックアップ情報をダウンロードして分析します。 NAR CR ログを確認するには、
NonAdminDownloadRequest
CR を作成し、次の例に示すように NAR CR 名を指定します。NonAdminDownloadRequest
CR の例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 yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
status.downloadURL
URL を使用して、復元情報をダウンロードして分析します。
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
に設定されていることを確認します。