5.19.3.2. NonAdminBackup CR の作成
承認済みネームスペース内のアプリケーションリソースをバックアップするために、非管理者バックアップ (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 の例apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: name: test-nab spec: backupSpec: defaultVolumesToFsBackup: true snapshotMoveData: false storageLocation: test-bslここでは、以下のようになります。
name-
NAB CR の名前を指定します。たとえば、
test-nabなどです。 defaultVolumesToFsBackup-
ファイルシステムバックアップ (FSB) を使用するかどうかを指定します。FSB を使用するには
trueに設定してください。 snapshotMoveData-
データムーバーを使用してデータボリュームをバックアップするかどうかを指定します。データムーバーを使用するには、
trueに設定してください。この例では、バックアップに FSB を使用しています。 保管場所-
保管場所として NABSL CR を指定します。
storageLocationを設定しないと、DPA に設定されたデフォルトの Backup Storage Location が使用されます。
NAB CR 設定を適用するには、次のコマンドを実行します。
$ oc apply -f <nab_cr_filename><nab_cr_filename> をNAB CR 設定を含むファイル名に置き換えてください。
検証
NAB CR が正常に作成されたことを確認するには、次のコマンドを実行します。
$ oc get nab test-nab -o yaml出力例
apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: creationTimestamp: "2025-03-06T10:02:56Z" finalizers: - nonadminbackup.oadp.openshift.io/finalizer generation: 2 name: test-nab namespace: test-nac-ns resourceVersion: "134316" uid: c5...4c8a8 spec: backupSpec: csiSnapshotTimeout: 0s defaultVolumesToFsBackup: true hooks: {} itemOperationTimeout: 0s metadata: {} storageLocation: test-bsl ttl: 0s status: conditions: - lastTransitionTime: "202...56Z" message: backup accepted reason: BackupAccepted status: "True" type: Accepted - lastTransitionTime: "202..T10:02:56Z" message: Created Velero Backup object reason: BackupScheduled status: "True" type: Queued dataMoverDataUploads: {} fileSystemPodVolumeBackups: completed: 2 total: 2 phase: Created queueInfo: estimatedQueuePosition: 0 veleroBackup: nacuuid: test-nac-test-nab-d2...a9b14 name: test-nac-test-nab-d2...b14 namespace: openshift-adp spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: true excludedResources: - nonadminbackups - nonadminrestores - nonadminbackupstoragelocations - securitycontextconstraints - clusterroles - clusterrolebindings - priorityclasses - customresourcedefinitions - virtualmachineclusterinstancetypes - virtualmachineclusterpreferences hooks: {} includedNamespaces: - test-nac-ns itemOperationTimeout: 4h0m0s metadata: {} snapshotMoveData: false storageLocation: test-nac-test-bsl-bf..02b70a ttl: 720h0m0s status: completionTimestamp: "2025-0..3:13Z" expiration: "2025..2:56Z" formatVersion: 1.1.0 hookStatus: {} phase: Completed progress: itemsBackedUp: 46 totalItems: 46 startTimestamp: "2025-..56Z" version: 1 warnings: 1ここでは、以下のようになります。
namespace-
NonAdminControllerCR がバックアップ対象のVeleroバックアップオブジェクトに設定する名前空間名を指定します。 メッセージ: バックアップが承認されました-
NAC が NAB CR を照合および検証し、
Veleroバックアップオブジェクトを作成したことを示します。 fileSystemPodVolumeBackups- FSB を使用してバックアップされるボリュームの数を指定します。
フェーズ: 作成済み-
NAB CR
が作成済みフェーズにあることを指定します。 推定キュー位置-
バックアップオブジェクトのキュー上の位置を指定します。プロセス内に複数のバックアップが存在する可能性があり、各バックアップオブジェクトにはキューの位置が割り当てられます。バックアップが完了すると、キューの位置は
0に設定されます。 ナキュイド-
NAC が
Veleroバックアップオブジェクトを作成し、nacuuidフィールドの値を設定することを指定します。 name-
関連付けられている
Veleroバックアップオブジェクトの名前を指定します。 status-
Veleroバックアップオブジェクトのステータスを指定します。 フェーズ: 完了-
Veleroバックアップオブジェクトが完了フェーズにあり、バックアップが正常に完了したことを示します。