すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:kubectl を使用したクラスター内アプリケーションのバックアップと復元

最終更新日:Mar 21, 2026

バックアップセンターを ACK コンソールから管理できない場合、またはバックアップとディザスタリカバリを自動化する必要がある場合は、kubectl を使用してクラスター間でアプリケーションを移行します。このためには、バックアップおよび復元用のクラスターに Backup Repository、Application Backup、および Application Restore のカスタムリソース(CR)をデプロイします。

前提条件

migrate-controller バックアップサービスコンポーネントのインストールと権限の設定

適用範囲/利用シーン

  • 権限が不足しているため、Container Service コンソールからバックアップセンターを管理できません。

  • ディザスタリカバリおよびバックアップのワークフローを自動化する場合。

注意事項

  • バックアップおよび復元タスクは、kubectl の delete コマンドで単純に削除することはできません。詳細については、「手順 4:クラスターバックアップセンターに関連するリソースの削除」をご参照ください。

  • migrate-controller コンポーネントを最新の状態に保ってください。詳細については、「コンポーネントの管理」をご参照ください。

  • 以下のコード例に記載されている構成パラメーターを削除すると、バックアップおよび復元処理が失敗する可能性があります。

手順 1:バックアップリポジトリの作成

  1. バックアップクラスターおよび復元クラスターで、以下の内容を使用して backuplocation.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: BackupLocation
    metadata:
      name: <your-backup-location-name>
      namespace: csdr
    spec:
      backupSyncPeriod: 0s
      config:
        network: internal
        region: cn-beijing
      objectStorage:
        bucket: <cnfs-oss-your-bucket-name>
        prefix: <your-subdirectory-name>
      provider: alibabacloud

    その他のパラメーターはデフォルト設定のままにしてください。

    パラメーター

    必須

    説明

    name

    はい

    バックアップリポジトリの名前です。この名前は Kubernetes の命名規則に従う必要があります。

    network

    はい

    OSS バケットへのネットワークアクセスモードです。有効な値は以下のとおりです。

    • internal:内部アクセスモード。関連付けられたすべてのクラスターおよび OSS バケットは同一リージョン内に存在する必要があります。

    • public:パブリックアクセスモード。リージョンに関する制限はありません。

    region

    はい

    OSS バケットが配置されているリージョンです。

    bucket

    はい

    OSS バケットの名前です。このバケットは事前に作成済みである必要があります。また、名前の先頭は cnfs-oss- で始める必要があります。

    prefix

    いいえ

    OSS バケット内の任意のサブディレクトリです。指定した場合、バックアップファイルはこのサブディレクトリに保存されます。

  2. バックアップクラスターおよび復元クラスターで、以下のコマンドを実行して backuplocation オブジェクトをデプロイします。

    kubectl apply -f backuplocation.yaml
  3. バックアップクラスターおよび復元クラスターで、それぞれ以下のコマンドを実行して backuplocation のステータスを確認します。

    kubectl describe backuplocation <your-backup-location-name> -n csdr

    期待される出力は以下のとおりです。

    ...
    Status:
      Last Validation Time:  2022-12-08T04:00:22Z
      Message:               success by csdr-controller
      Phase:                 Available

    上記の期待される出力に示すように、作成されたバックアップリポジトリのステータスは Available であり、これは現在のクラスターが OSS に直接アクセスする権限を持つことを示しています。

手順 2:バックアップジョブの作成

ご使用のシナリオに応じて、バックアップタイプを選択してください。

  • アプリケーションのバックアップ:クラスター内で実行中のアプリケーションをバックアップします。これには、クラスターリソースおよびアプリケーションが使用する永続ボリューム(PV)が含まれます。

  • データ保護:永続ボリューム(PV)内のデータをバックアップします。これには、関連付けられた永続ボリューム要求(PVC)および永続ボリューム(PV)のみが含まれます。

詳細については、「アプリケーションバックアップおよびデータ保護のユースケース」をご参照ください。

アプリケーションバックアップ

オンデマンドバックアップ

  1. バックアップクラスターで、以下の内容を使用して applicationbackup.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: ApplicationBackup
    metadata:
      annotations:
        csdr.alibabacloud.com/backuplocations: >-
          {"name":"<your-backup-repository-name>","region":"cn-beijing","bucket":"<your-oss-bucket-name>","prefix":"<your-subdirectory-name>","provider":"alibabacloud"}
      name: <your-application-backup-name>
      namespace: csdr
    spec:
      includedNamespaces:
        - default
      includedResources:
        - statefulset
      excludedResources:
        - deployment
      labelSelector:
        matchLabels:
          app: mysql-sts
      includeClusterResources: false 
      pvBackup:
        defaultPvBackup: false
      storageLocation: <your-backup-repository-name>
      ttl: 720h0m0s

    その他のパラメーターはデフォルト設定のままにしてください。

    パラメーター

    必須

    説明

    csdr.alibabacloud.com/backuplocations

    はい

    バックアップが格納されるバックアップリポジトリです。これは既存のバックアップリポジトリ構成と一致する必要があります。

    name

    はい

    オンデマンドバックアップの名前です。

    includedNamespaces

    はい

    バックアップ対象の名前空間です。

    includedResources

    いいえ

    バックアップ対象のリソースタイプです。

    重要

    予期しないバックアップ結果を回避するため、includedResources または excludedResources のいずれか一方のみを設定してください。両方とも空の場合、すべてのリソースタイプがバックアップされます。

    excludedResources

    いいえ

    バックアップ対象外のリソースタイプです。

    重要

    予期しないバックアップ結果を回避するため、includedResources または excludedResources のいずれか一方のみを設定してください。両方とも空の場合、すべてのリソースタイプがバックアップされます。

    matchLabels

    いいえ

    リソースをフィルターするためのラベルセレクターです。マッチするラベルを持つリソースのみがバックアップされます。

    includeClusterResources

    いいえ

    StorageClasses、CRDs、Webhook などのクラスターレベルのリソースをバックアップするかどうかを指定します。

    • true:すべてのクラスターレベルのリソースをバックアップします。

    • false:選択した名前空間内のネームスペースレベルのリソースによって参照されるクラスターレベルのリソースのみをバックアップします。たとえば、Pod をバックアップする場合、参照される ServiceAccount に ClusterRole が付与されていると、その ClusterRole が自動的にバックアップされます。カスタムリソース(CR)をバックアップする場合、CRD が自動的にバックアップされます。

    説明

    ACK コンソールで作成されたバックアップジョブでは、IncludeClusterResources フィールドはデフォルトで false に設定されます。

    defaultPvBackup

    いいえ

    永続ボリューム(PV)をバックアップするかどうかを指定します。有効な値は以下のとおりです。

    • true:アプリケーションおよび永続ボリューム(PV)をバックアップします。

    • false:アプリケーションのみをバックアップします。

    storageLocation

    はい

    バックアップリポジトリの名前です。

    説明

    クラスターで既に Velero を使用している場合は、DingTalk ユーザーグループ(グループ番号:35532895)に参加してサポートを受けてください。

    ttl

    はい

    バックアップの保持期間です。この期間が経過すると、バックアップは復元できなくなります。形式は 720h0m0s です。値は 24h0m0s から 1572864h0m0s の間で指定する必要があります。

  2. バックアップクラスターで、以下のコマンドを実行して applicationbackup オブジェクトをデプロイします。

    kubectl apply -f applicationbackup.yaml
  3. バックアップクラスターで、以下のコマンドを実行してオンデマンドバックアップタスクのステータスを確認します。

    kubectl describe applicationbackup <your-application-backup-name> -n csdr

    期待される出力:

    ...
    Status:
      Completion Timestamp:  2022-12-05T15:02:35Z
      Expiration:            2023-01-04T15:02:25Z
      Message:               success
      Phase:                 Completed

    オンデマンドバックアップタスクのステータスが Inprogress から Completed に変更されると、タスクは正常に作成されたことになります。

スケジュールバックアップ

  1. バックアップクラスターで、以下の内容を使用して backupschedule.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: BackupSchedule
    metadata:
      annotations:
        csdr.alibabacloud.com/backuplocations: >-
          {"name":"<your-backup-repository-name>","region":"cn-beijing","bucket":"<your-oss-bucket-name>","prefix":"<your-subdirectory-name>","provider":"alibabacloud"}
      name: <your-backup-schedule-name>
      namespace: csdr
    spec:
      schedule: 1 4 * * *
      template:
        includedNamespaces:
          - default
        includedResources:
          - statefulset
        excludedResources:
          - deployment
        labelSelector:
          matchLabels:
            app: mysql-sts
        includeClusterResources: false 
        pvBackup:
          defaultPvBackup: true
        storageLocation: <your-backup-repository-name>
        ttl: 720h0m0s

    その他のパラメーターはデフォルト設定のままにしてください。

    パラメーター

    必須

    説明

    csdr.alibabacloud.com/backuplocations

    はい

    バックアップが格納されるバックアップリポジトリです。これは既存のバックアップリポジトリ構成と一致する必要があります。

    name

    はい

    スケジュールバックアッププランの名前です。

    schedule

    はい

    バックアップのスケジュールです。cron 式で指定します。詳細については、「バックアップスケジュールの指定方法」をご参照ください。

    includedNamespaces

    はい

    バックアップ対象の名前空間です。

    includedResources

    いいえ

    バックアップ対象のリソースタイプです。

    重要

    予期しないバックアップ結果を回避するため、includedResources または excludedResources のいずれか一方のみを設定してください。両方とも空の場合、すべてのリソースタイプがバックアップされます。

    excludedResources

    いいえ

    バックアップ対象外のリソースタイプです。

    重要

    予期しないバックアップ結果を回避するため、includedResources または excludedResources のいずれか一方のみを設定してください。両方とも空の場合、すべてのリソースタイプがバックアップされます。

    matchLabels

    いいえ

    リソースをフィルターするためのラベルセレクターです。マッチするラベルを持つリソースのみがバックアップされます。

    includeClusterResources

    いいえ

    StorageClasses、CRDs、Webhook などのクラスターレベルのリソースをバックアップするかどうかを指定します。

    • true:すべてのクラスターレベルのリソースをバックアップします。

    • false:選択した名前空間内のネームスペースレベルのリソースによって参照されるクラスターレベルのリソースのみをバックアップします。たとえば、Pod をバックアップする場合、参照される ServiceAccount に ClusterRole が付与されていると、その ClusterRole が自動的にバックアップされます。カスタムリソース(CR)をバックアップする場合、CRD が自動的にバックアップされます。

    説明

    ACK コンソールで作成されたバックアップジョブでは、IncludeClusterResources フィールドはデフォルトで false に設定されます。

    defaultPvBackup

    はい

    永続ボリューム(PV)をバックアップするかどうかを指定します。有効な値は以下のとおりです。

    • true:アプリケーションおよび永続ボリューム(PV)をバックアップします。

    • false:アプリケーションのみをバックアップします。

    storageLocation

    はい

    バックアップリポジトリの名前です。

    説明

    クラスターで既に Velero を使用している場合は、DingTalk ユーザーグループ(グループ番号:35532895)に参加してサポートを受けてください。

    ttl

    はい

    バックアップの保持期間です。この期間が経過すると、バックアップは復元できなくなります。形式は 720h0m0s です。値は 24h0m0s から 1572864h0m0s の間で指定する必要があります。

  2. バックアップクラスターで、以下のコマンドを実行して backupschedule オブジェクトをデプロイします。

    kubectl apply -f backupschedule.yaml
  3. バックアップクラスターで、以下のコマンドを実行してスケジュールバックアッププランのステータスを確認します。

    kubectl describe backupschedule <your-backup-schedule-name> -n csdr

    期待される出力:

    ...
    Status:
      Last Backup:          2022-12-07T20:01:11Z
      Last Processed Time:  2022-12-08T13:05:37Z
      Phase:                Enabled

    スケジュールバックアッププランのステータスが Enabled の場合、プランは正常に作成されたことになります。

  4. バックアップクラスターで、以下のコマンドを実行してスケジュールバックアップを確認します。

    kubectl get applicationbackup -n csdr | grep <your-backup-schedule-name>

    期待される出力:

    <your-backup-schedule-name>-20221205225845   2d22h
    <your-backup-schedule-name>-20221206040104   2d17h
    <your-backup-schedule-name>-20221207040137   41h
    <your-backup-schedule-name>-20221208040111   17h

データ保護

オンデマンドバックアップ

  1. バックアップクラスターで、以下の内容を使用して applicationbackup.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: ApplicationBackup
    metadata:
      annotations:
        csdr.alibabacloud.com/backuplocations: >-
          {"name":"<your-backup-repository-name>","region":"cn-beijing","bucket":"<your-oss-bucket-name>","prefix":"<your-subdirectory-name>","provider":"alibabacloud"}
      name: <your-application-backup-name>
      namespace: csdr
    spec:
      backupType: PvBackup # This is a fixed value
      includedNamespaces:
      - default
      pvBackup:
        # Specify the volumes to back up
        pvcList:
        - name: essd-pvc-0 
          namespace: default 
        - name: essd-pvc-1
          namespace: default
        # Specify volumes to back up by Storage Class
        storageClassList:
        - disk-essd
        - disk-ssd
      storageLocation: <your-backup-repository-name>
      ttl: 720h0m0s

    パラメーター

    必須

    説明

    csdr.alibabacloud.com/backuplocations

    はい

    バックアップが格納されるバックアップリポジトリです。これは既存のバックアップリポジトリ構成と一致する必要があります。

    name

    はい

    オンデマンドバックアップの名前です。

    includedNamespaces

    はい

    バックアップ対象の名前空間です。

    pvcList

    いいえ

    バックアップ対象の永続ボリューム要求(PVC)を指定します。name は PVC の名前です。

    重要
    • pvcList および storageClassList の両方が指定されている場合、storageClassList 構成は無視されます。

    • pvcList および storageClassList のいずれも指定されていない場合、指定された名前空間内のすべての永続ボリューム(PV)がバックアップされます。

    storageClassList

    いいえ

    バックアップ対象のボリュームのストレージクラスです。

    storageLocation

    はい

    バックアップリポジトリの名前です。

    説明

    クラスターで既に Velero を使用している場合は、DingTalk ユーザーグループ(グループ番号:35532895)に参加してサポートを受けてください。

    ttl

    はい

    バックアップの保持期間です。この期間が経過すると、バックアップは復元できなくなります。形式は 720h0m0s です。値は 24h0m0s から 1572864h0m0s の間で指定する必要があります。

  2. バックアップクラスターで、以下のコマンドを実行して applicationbackup オブジェクトをデプロイします。

    kubectl apply -f applicationbackup.yaml
  3. バックアップクラスターで、以下のコマンドを実行してオンデマンドバックアップタスクのステータスを確認します。

    kubectl describe applicationbackup <your-application-backup-name> -n csdr

    期待される出力:

    ...
    Status:
      Completion Timestamp:  2025-03-25T08:20:24Z
      Expiration:            2025-04-24T08:18:03Z
      Message:               success
      Phase:                 Completed

スケジュールバックアップ

  1. バックアップクラスターで、以下の内容を使用して backupschedule.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: BackupSchedule
    metadata:
      annotations:
        csdr.alibabacloud.com/backuplocations: >-
          {"name":"<your-backup-repository-name>","region":"cn-beijing","bucket":"<your-oss-bucket-name>","prefix":"<your-subdirectory-name>","provider":"alibabacloud"}
      name: <your-backup-schedule-name>
      namespace: csdr
    spec:
      schedule: 1 4 * * *
      template:
        backupType: PvBackup # This is a fixed value
        includedNamespaces:
        - default
        pvBackup:
          # Specify the volumes to back up
          pvcList:
          - name: essd-pvc-0 
            namespace: default
          - name: essd-pvc-1
            namespace: default
          # Specify volumes to back up by Storage Class
          storageClassList:
          - disk-essd
          - disk-ssd
        storageLocation: <your-backup-repository-name>
        ttl: 720h0m0s

    パラメーター

    必須

    説明

    csdr.alibabacloud.com/backuplocations

    はい

    バックアップが格納されるバックアップリポジトリです。これは既存のバックアップリポジトリ構成と一致する必要があります。

    name

    はい

    オンデマンドバックアップの名前です。

    schedule

    はい

    バックアップのスケジュールです。cron 式で指定します。書式については、「バックアップスケジュールの指定方法」をご参照ください。

    includedNamespaces

    はい

    バックアップ対象の名前空間です。

    pvcList

    いいえ

    バックアップ対象の永続ボリューム(PV)の永続ボリューム要求(PVC)を指定します。name は PVC の名前です。

    重要
    • pvcList および storageClassList の両方が指定されている場合、storageClassList 構成は無視されます。

    • pvcList および storageClassList のいずれも指定されていない場合、指定された名前空間内のすべての PV がバックアップされます。

    storageClassList

    いいえ

    バックアップ対象のボリュームのストレージクラスです。

    storageLocation

    はい

    バックアップリポジトリの名前です。

    説明

    クラスターで既に Velero を使用している場合は、DingTalk ユーザーグループ(グループ番号:35532895)に参加してサポートを受けてください。

    ttl

    はい

    バックアップの保持期間です。この期間が経過すると、バックアップは復元できなくなります。形式は 720h0m0s です。値は 24h0m0s から 1572864h0m0s の間で指定する必要があります。

  2. バックアップクラスターで、以下のコマンドを実行して backupschedule オブジェクトをデプロイします。

    kubectl apply -f backupschedule.yaml
  3. バックアップクラスターで、以下のコマンドを実行してスケジュールバックアッププランのステータスを確認します。

    kubectl describe backupschedule <your-backup-schedule-name> -n csdr

    期待される出力:

    ...
    Status:
      Last Backup:  2025-03-25T09:24:38Z
      Phase:        Enabled

手順 3:復元タスクの作成

  1. 復元クラスターで、以下の内容を使用して applicationrestore.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: ApplicationRestore
    metadata:
      annotations:    
        csdr.alibabacloud.com/backuplocations: >-
          {"name":"<your-backup-repository-name>","region":"cn-beijing","bucket":"<your-oss-bucket-name>","prefix":"<your-subdirectory-name>","provider":"alibabacloud"}
      name: <your-application-restore-name>
      namespace: csdr
    spec:
      appRestoreOnly: false
      preserveNodePorts: true
      includedNamespaces:
        - default
      includedResources:
        - statefulset
      excludedResources:
        - secret
      convertedarg:
      - convertToStorageClassType: alicloud-disk-topology-alltype
        convertToAccessModes:
        - ReadWriteOnce
        namespace: nas
        persistentVolumeClaim: pvc-nas
      - convertToStorageClassType: alicloud-disk-topology-alltype
        namespace: oss
        persistentVolumeClaim: pvc-oss
      backupName: <your-application-backup-name>
      namespaceMapping:
        <source-namespace>: <target-namespace>
      imageRegistryMapping:
        <old-image-registry>: <new-image-registry>

    その他のパラメーターはデフォルト設定のままにしてください。

    説明

    appRestoreOnly、preserveNodePorts、includedResources、および excludedResources パラメーターは、アプリケーションバックアップでのみサポートされ、データ保護のシナリオでは機能しません。

    パラメーター

    必須

    説明

    csdr.alibabacloud.com/backuplocations

    はい

    バックアップが格納されているバックアップリポジトリを指定します。これはリポジトリの構成と一致する必要があります。

    name

    はい

    復元タスクの名前です。

    appRestoreOnly

    いいえ

    このパラメーターはアプリケーションバックアップジョブにのみ適用され、データ保護のシナリオでは機能しません。

    永続ボリューム(PV)を含むバックアップの場合、このパラメーターは、関連付けられた永続ボリューム要求(PVC)、PV、およびボリュームデータを復元せずにアプリケーションのみを復元するかどうかを指定します。有効な値は以下のとおりです。

    • true:アプリケーションのみを復元します。バックアップされたアプリケーションのデータソースを変更する必要がある場合は、まず手動で PVC および PV を作成し、その後このパラメーターを true に設定した復元タスクを作成します。

    • false:アプリケーションおよび関連するストレージデータの両方を復元します。これがデフォルト値です。

    preserveNodePorts

    いいえ

    このパラメーターはアプリケーションバックアップジョブにのみ適用され、データ保護のシナリオでは機能しません。

    バックアップおよび復元クラスターが同一の場合、デフォルト値は false です。これにより、ポートの競合を回避するためにランダムなポート値が割り当てられます。それ以外の場合は、この値を true に設定します。

    includedNamespaces

    はい

    復元対象の名前空間を指定します。空欄の場合は、バックアップされたすべての名前空間が復元されます。

    includedResources

    いいえ

    このパラメーターはアプリケーションバックアップジョブにのみ適用され、データ保護のシナリオでは機能しません。

    復元対象のクラスターリソースタイプを指定します。

    重要
    • 予期しない復元結果を回避するため、includedResources または excludedResources のいずれか一方のみを設定してください。両方のパラメーターが空欄の場合、バックアップされたすべてのリソースタイプが復元されます。

    excludedResources

    いいえ

    このパラメーターはアプリケーションバックアップジョブにのみ適用され、データ保護のシナリオでは機能しません。

    復元対象外のクラスターリソースタイプを指定します。

    重要
    • 予期しない復元結果を回避するため、includedResources または excludedResources のいずれか一方のみを設定してください。両方のパラメーターが空欄の場合、バックアップされたすべてのリソースタイプが復元されます。

    backupName

    はい

    復元対象のバックアップの名前です。スケジュールバックアップ機能を使用する場合、ポイントインタイムバックアップの名前(例:<yourBackupScheduleName>-20221205225845)を指定する必要があります。

    namespaceMapping

    いいえ

    名前空間を再マップします。有効な値は以下のとおりです。

    • <backupNamespace>:バックアップタスク作成時に指定したバックアップクラスターの名前空間です。

    • <restoreNamespace>:バックアップから復元されるリソースの復元先となる復元クラスターの名前空間です。このパラメーターが設定されていない場合、デフォルトで同名の名前空間に復元されます。

    説明

    <target-namespace> が存在しない場合、新しい名前空間が作成されます。

    imageRegistryMapping

    いいえ

    イメージレジストリアドレスを再マップします。これは、復元されたアプリケーション内のすべてのイメージについて、アドレスがソースプレフィックスと一致する場合に適用されます。有効な値は以下のとおりです。

    • <oldImageRegistry>:バックアップ内のアプリケーションの元のイメージレジストリアドレスです。

    • <newImageRegistry>:復元先のイメージレジストリのアドレスです。このパラメーターを設定しない場合、アプリケーション内のイメージの構成は変更されません。

    例:

    元のクラスターアプリケーションで使用されるイメージは registry.cn-beijing.aliyuncs.com/my-registry/nginx:v1 であり、これを registry.cn-hangzhou.aliyuncs.com/my-registry/nginx:v1 に変更する必要があります。このフィールドは以下のように構成します。

      imageRegistryMapping:
        "registry.cn-beijing.aliyuncs.com/my-registry/": "registry.cn-hangzhou.aliyuncs.com/my-registry/"

    convertedarg

    いいえ

    ストレージクラスの変換リストです。これにより、FileSystem 型ボリューム(Object Storage Service (OSS)、Apsara File Storage NAS、CPFS、ローカル記憶域など)のバックアップから、現在のクラスター上のターゲットストレージクラスへ永続ボリューム要求(PVC)を復元できます。たとえば、Apsara File Storage NAS をクラウドディスクに変換できます。

    • convertToStorageClassType:ターゲットストレージクラスです。これは現在のクラスターにすでに存在している必要があります。現在のバージョンでは、クラウドディスクまたは Apsara File Storage NAS のストレージクラスのみがサポートされています。

    • namespace:永続ボリューム要求(PVC)が配置されている名前空間です。

    • persistentVolumeClaim:永続ボリューム要求(PVC)の名前です。

    上記のパラメーターは、ストレージクラス変換機能に必須です。

    また、変換時に永続ボリューム(PV)のアクセスモードを変更することも可能です。以下のオプションパラメーターを使用します。

    • convertToAccessModes:ターゲットアクセスモードのリストです。

    説明

    AccessModesReadWriteMany または ReadOnlyMany の PV をクラウドディスクストレージクラスに復元する場合、強制的なディスクデタッチのリスクを回避するために、AccessModesReadWriteOnce に変換する必要があります。

    kubectl -ncsdr describe <backup-name> コマンドを実行することで、バックアップの永続ボリューム要求(PVC)に関する情報を照会できます。status.resourceList.dataResource.pvcBackupInfo リストの出力において、dataType フィールドはデータの型(FileSystem または Snapshot)を示します。nameSpace および pvcName フィールドは、それぞれ PVC の名前空間および名前です。

  2. 復元クラスターで、以下のコマンドを実行して applicationrestore オブジェクトをデプロイします。

    kubectl apply -f applicationrestore.yaml
  3. 復元クラスターで、以下のコマンドを実行して復元タスクのステータスを確認します。

    kubectl describe applicationrestore <your-application-restore-name> -n csdr

    期待される出力:

    ...
    Status:
      Completion Timestamp:  2022-12-05T15:52:19Z
      Phase:                 Completed
      Start Timestamp:       2022-12-05T15:52:09Z

    復元タスクのステータスが Inprogress から Completed に変更されると、復元タスクは正常に作成されたことになります。

手順 4:クラスターバックアップセンターのリソース削除

重要

クラスターバックアップセンターでは、BackupLocation リソースの削除はサポートされていません。これは、作成したバックアップリポジトリが他のクラスターで使用されている可能性があるためです。

スケジュールバックアッププランの削除

以下のコマンドを実行して BackupSchedule リソースを削除し、スケジュールバックアップを停止します。

kubectl delete backupschedule <your-backup-schedule-name> -n csdr

バックアップジョブまたは復元ジョブの削除

  1. 削除対象のタスクが配置されているクラスターで、以下の内容を使用して deleterequest.yaml ファイルを作成します。

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: DeleteRequest
    metadata:
      name: <object-name-dbr>
      namespace: csdr
    spec:
      deleteObjectName: <object-name>
      deleteObjectType: "Backup"

    その他のパラメーターはデフォルト設定のままにしてください。

    パラメーター

    必須

    説明

    name

    はい

    DeleteRequest リソースの名前です。

    • バックアップジョブを削除する場合:削除する ApplicationBackup リソースの名前に -dbr を追加します。

    • 復元ジョブを削除する場合:削除する ApplicationRestore リソースの名前に -dbr を追加します。

    deleteObjectName

    はい

    削除対象のリソースの名前です。

    deleteObjectType

    はい

    削除対象のリソースのタイプです。有効な値は以下のとおりです。

    • "Backup":ApplicationBackup バックアップジョブおよび関連するリソースを削除します。

    • "Restore":ApplicationRestore 復元タスクおよび関連するリソースを削除します。

    説明
    • バックアップジョブを削除しても、すでにクラスターに同期されたレプリカには影響しません。

    • 復元ジョブを削除しても、すでに復元されたコンテンツには影響しません。

  2. 削除対象のタスクが配置されているクラスターで、以下のコマンドを実行して deleterequest 削除リクエストをデプロイします。

    kubectl apply -f deleterequest.yaml
  3. 以下のコマンドを実行してリソースのステータスを確認します。

    • バックアップジョブの削除の確認

      • 以下のコマンドを実行してバックアップジョブのステータスを確認します。

        kubectl get applicationbackup <your-application-backup-name> -n csdr

        期待される出力:

        Error from server (NotFound): applicationbackups.csdr.alibabacloud.com "your-application-backup-name" not found

        この出力は、ApplicationBackup リソースが削除されたことを示しています。

      • 以下のコマンドを実行して DeleteRequest リソースのステータスを確認します。

        kubectl get deleterequest <your-application-backup-name-dbr> -n csdr

        期待される出力:

        Error from server (NotFound): deleterequests.csdr.alibabacloud.com "your-application-backup-name-dbr" not found

        この出力は、関連する DeleteRequest リソースも自動的に削除されたことを示しています。

    • 復元ジョブの削除の確認

      • 以下のコマンドを実行して復元ジョブのステータスを確認します。

        kubectl get applicationrestore <your-application-restore-name> -n csdr

        期待される出力:

        Error from server (NotFound): applicationrestores.csdr.alibabacloud.com "your-application-restore-name" not found

        この出力は、ApplicationRestore リソースが削除されたことを示しています。

      • 以下のコマンドを実行して DeleteRequest リソースのステータスを確認します。

        kubectl get deleterequest <your-application-restore-name-dbr> -n csdr

        期待される出力:

        Error from server (NotFound): deleterequests.csdr.alibabacloud.com "your-application-restore-name-dbr" not found

        この出力は、関連する DeleteRequest リソースも自動的に削除されたことを示しています。

関連ドキュメント