Skip to main content
NetApp Backup and Recovery
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

이제 Backup and Recovery에서 사용자 지정 리소스를 사용하여 Kubernetes 애플리케이션을 백업하세요.

기여자 netapp-mwallis

NetApp Backup and Recovery를 사용하면 사용자 지정 리소스(CR)를 사용하여 Kubernetes 애플리케이션을 수동으로 백업할 수 있습니다.

사용자 지정 리소스를 사용하여 지금 Kubernetes 애플리케이션 백업

향후 백업 및 스냅샷을 위한 기준을 설정하거나 최신 데이터가 보호되도록 Kubernetes 애플리케이션의 백업을 수동으로 생성합니다.

참고 클러스터 범위 리소스는 애플리케이션 정의에서 명시적으로 참조되거나 애플리케이션 네임스페이스를 참조하는 경우 백업, 스냅샷 또는 클론에 포함됩니다.
시작하기 전에

장시간 실행되는 s3 백업 작업의 경우 AWS 세션 토큰 만료 기간이 충분한지 확인하십시오. 백업 작업 중에 토큰이 만료되면 작업이 실패할 수 있습니다.

  • 현재 세션 토큰 만료 확인에 대한 자세한 내용은 "AWS API 문서"을 참조하십시오.

  • AWS 리소스에 대한 자격 증명 관련 자세한 내용은 "AWS IAM 문서"를 참조하십시오.

사용자 지정 리소스를 사용하여 로컬 스냅샷을 생성합니다

Kubernetes 애플리케이션의 스냅샷을 생성하고 로컬에 저장하려면 특정 속성을 가진 Snapshot 사용자 정의 리소스를 사용하십시오.

단계
  1. 사용자 정의 리소스(CR) 파일을 생성하고 이름을 지정합니다 local-snapshot-cr.yaml.

  2. 생성한 파일에서 다음 속성을 구성하십시오.

    • metadata.name: (필수) 이 사용자 지정 리소스의 이름입니다. 환경에 맞는 고유하고 적절한 이름을 선택하세요.

    • spec.applicationRef: 스냅샷을 생성할 애플리케이션의 Kubernetes 이름입니다.

    • spec.appVaultRef: (필수) 스냅샷 콘텐츠(메타데이터)를 저장할 AppVault의 이름입니다.

    • spec.reclaimPolicy: (선택 사항) 스냅샷 CR이 삭제될 때 스냅샷의 AppArchive에 어떤 일이 발생하는지 정의합니다. 즉, `Retain`로 설정하더라도 스냅샷은 삭제됩니다. 유효한 옵션:

      • Retain (기본값)

      • Delete

        apiVersion: protect.trident.netapp.io/v1
        kind: Snapshot
        metadata:
          namespace: my-app-namespace
          name: local-snapshot-cr
        spec:
          applicationRef: my-application
          appVaultRef: appvault-name
          reclaimPolicy: Retain
  3. local-snapshot-cr.yaml 파일에 올바른 값을 입력한 후 CR을 적용하십시오.

    kubectl apply -f local-snapshot-cr.yaml

사용자 지정 리소스를 사용하여 애플리케이션을 오브젝트 스토리지에 백업합니다

특정 속성을 가진 Backup CR을 생성하여 애플리케이션을 오브젝트 스토어에 백업합니다.

단계
  1. 사용자 정의 리소스(CR) 파일을 생성하고 이름을 지정합니다 object-store-backup-cr.yaml.

  2. 생성한 파일에서 다음 속성을 구성하십시오.

    • metadata.name: (필수) 이 사용자 지정 리소스의 이름입니다. 환경에 맞는 고유하고 적절한 이름을 선택하세요.

    • spec.applicationRef: (필수) 백업할 애플리케이션의 Kubernetes 이름입니다.

    • spec.appVaultRef: (필수, spec.appVaultTargetsRef와 상호 배타적) 스냅샷과 백업을 동일한 버킷에 저장하는 경우, 백업 콘텐츠를 저장할 AppVault의 이름입니다.

    • spec.appVaultTargetsRef: (필수, spec.appVaultRef와 상호 배타적) 스냅샷과 백업을 서로 다른 버킷에 저장하는 경우, 백업 콘텐츠를 저장할 AppVault의 이름입니다.

    • spec.dataMover: (선택 사항, Trident Protect에서 마이그레이션된 클러스터의 경우 필수) 백업 작업에 사용할 백업 도구를 나타내는 문자열입니다. 이 클러스터가 Trident Protect에서 Backup and Recovery로 마이그레이션된 경우 값은 대소문자를 구분하며 `CBS`이어야 합니다.

    • spec.reclaimPolicy: (선택 사항) Backup CR이 삭제될 때 백업 콘텐츠(메타데이터/볼륨 데이터)에 어떤 일이 발생하는지 정의합니다. 가능한 값:

      • Delete

      • Retain (기본값)

    • spec.cleanupSnapshot: (필수) Backup CR에서 생성된 임시 스냅샷이 백업 작업 완료 후 삭제되지 않도록 합니다. 권장 값: false.

      스냅샷과 백업을 저장하는 데 동일한 버킷을 사용하는 경우의 YAML 예:

      apiVersion: protect.trident.netapp.io/v1
      kind: Backup
      metadata:
        namespace: my-app-namespace
        name: my-cr-name
      spec:
        applicationRef: my-application
        appVaultRef: appvault-name
        dataMover: CBS
        reclaimPolicy: Retain
        cleanupSnapshot: false

      스냅샷과 백업을 저장하기 위해 서로 다른 버킷을 사용하는 경우의 YAML 예:

    apiVersion: protect.trident.netapp.io/v1
    kind: Backup
    metadata:
      namespace: my-app-namespace
      name: object-store-backup-cr
    spec:
      applicationRef: my-application
      appVaultTargetsRef: appvault-targets-name
      dataMover: CBS
      reclaimPolicy: Retain
      cleanupSnapshot: false
  3. object-store-backup-cr.yaml 파일에 올바른 값을 입력한 후 CR을 적용하십시오.

    kubectl apply -f object-store-backup-cr.yaml

사용자 정의 리소스를 사용하여 3-2-1 팬아웃 백업을 생성합니다

3-2-1 팬아웃 아키텍처를 사용한 백업은 백업 결과를 2차 스토리지와 오브젝트 스토리지에 모두 복사합니다. 3-2-1 팬아웃 백업을 생성하려면 특정 속성을 가진 Backup CR을 생성해야 합니다.

단계
  1. 사용자 정의 리소스(CR) 파일을 생성하고 이름을 지정합니다 3-2-1-fanout-backup-cr.yaml.

  2. 생성한 파일에서 다음 속성을 구성하십시오.

    • metadata.name: (필수) 이 사용자 지정 리소스의 이름입니다. 환경에 맞는 고유하고 적절한 이름을 선택하세요.

    • spec.applicationRef: (필수) 백업할 애플리케이션의 Kubernetes 이름입니다.

    • spec.appVaultTargetsRef: (필수) 백업 콘텐츠를 저장할 AppVault의 이름입니다.

    • spec.dataMover: (선택 사항) 백업 작업에 사용할 백업 도구를 나타내는 문자열입니다. 값은 대소문자를 구분하며 반드시 `CBS`이어야 합니다.

    • spec.reclaimPolicy: (선택 사항) Backup CR이 삭제될 때 백업 콘텐츠(메타데이터/볼륨 데이터)에 어떤 일이 발생하는지 정의합니다. 가능한 값:

      • Delete

      • Retain (기본값)

    • spec.cleanupSnapshot: (필수) Backup CR에서 생성된 임시 스냅샷이 백업 작업 완료 후 삭제되지 않도록 합니다. 권장 값: false.

    • spec.replicateSnapshot: (필수) NetApp Backup and Recovery에 스냅샷을 2차 스토리지에 복제하도록 지시합니다. 필수 값: true.

    • spec.replicateSnapshotReclaimPolicy: (선택 사항) 복제된 스냅샷이 삭제될 때 발생하는 상황을 정의합니다. 가능한 값:

      • Delete

      • Retain (기본값)

        YAML 예:

    apiVersion: protect.trident.netapp.io/v1
    kind: Backup
    metadata:
      namespace: my-app-namespace
      name: 3-2-1-fanout-backup-cr
    spec:
      applicationRef: my-application
      appVaultTargetsRef: appvault-targets-name
      dataMover: CBS
      reclaimPolicy: Retain
      cleanupSnapshot: false
      replicateSnapshot: true
      replicateSnapshotReclaimPolicy: Retain
  3. 3-2-1-fanout-backup-cr.yaml 파일에 올바른 값을 입력한 후 CR을 적용하십시오.

    kubectl apply -f 3-2-1-fanout-backup-cr.yaml

지원되는 백업 주석

다음 표는 백업 CR을 생성할 때 사용할 수 있는 주석을 설명합니다.

주석 유형 설명 기본값

protect.trident.netapp.io/full-backup

문자열

백업을 비증분 백업으로 수행할지 여부를 지정합니다. `true`로 설정하여 비증분 백업을 생성합니다. 복원과 관련된 위험을 최소화하려면 주기적으로 전체 백업을 수행하고 전체 백업 사이에 증분 백업을 수행하는 것이 좋습니다.

"false"

protect.trident.netapp.io/snapshot-completion-timeout

문자열

전체 스냅샷 작업이 완료되는 데 허용되는 최대 시간입니다.

"60m"

protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout

문자열

볼륨 스냅샷이 사용 가능한 상태에 도달하는 데 허용되는 최대 시간입니다.

"30분"

protect.trident.netapp.io/volume-snapshots-created-timeout

문자열

볼륨 스냅샷을 생성하는 데 허용되는 최대 시간입니다.

"5m"

protect.trident.netapp.io/pvc-bind-timeout-sec

문자열

새로 생성된 PersistentVolumeClaims(PVC)가 Bound 단계에 도달할 때까지 작업이 실패하기 전에 기다리는 최대 시간(초)입니다.

"1200" (20분)