백업 집합 계획

이 문서에서는 Google Distributed Cloud (GDC) 에어 갭에서 클러스터 워크로드의 백업 계획을 만들고 관리하는 방법을 설명합니다.

백업 계획 은 백업 시퀀스의 구성, 위치, 관리 기능을 제공합니다. 백업 계획에는 소스 클러스터 및 백업할 워크로드 선택을 포함한 백업 구성이 포함됩니다. 모든 클러스터에 백업 계획을 하나 이상 제공하는 것이 좋습니다.

각 클러스터에 백업 계획을 하나 이상 만들 수 있습니다. 다음과 같은 이유로 클러스터의 백업을 파티션으로 나눌 수 있습니다.

  • 하루 중 한 번에 매우 큰 백업을 수행하는 대신 하루 종일 여러 개의 작은 백업을 분산합니다.
  • 클러스터의 일부를 다른 것보다 더 자주 백업합니다(예: 일부 네임스페이스의 경우 매일 백업, 다른 것은 시간별 백업).

단일 클러스터 또는 가상 머신 (VM)은 하나 이상의 백업 계획에 속할 수 있습니다. 백업 계획은 둘 이상의 클러스터에 걸쳐 있을 수 없습니다. 그러나 단일 백업 계획은 동일한 클러스터에 있는 경우 여러 VM을 캡처할 수 있습니다. 모든 백업 및 복원 리소스는 프로젝트 이름과 연결되어야 합니다.

이 문서는 클러스터 백업 작업을 관리하는 플랫폼 관리자 또는 애플리케이션 운영자 그룹의 개발자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서의 대상 그룹을 참고하세요.

시작하기 전에

사용자 클러스터를 백업할 때는 백업 계획을 만드는 데 사용한 프로젝트가 해당 클러스터에 연결되어 있는지 확인합니다.

IAM 역할 요청

백업 계획을 만들려면 조직 IAM 관리자에게 사용자 클러스터 백업 관리자 (user-cluster-backup-admin) 역할을 부여해 달라고 요청하세요. 이 역할은 사용자 클러스터에서 백업 계획 및 복원 계획과 같은 백업 리소스를 만들고, 가져오고, 나열하고, 감시하고, 업데이트하고, 패치하고, 삭제합니다.

애플리케이션 운영자인 경우 사용자 클러스터 백업 관리자 권한이 있는 관리자에게 백업 계획을 만들어 달라고 요청하세요.

백업 계획 만들기

백업이 크론 일정에 따라 자동으로 생성되도록 백업 계획의 크론 일정을 정의해야 합니다. 워크로드를 수동으로 백업할 수도 있습니다. 자세한 내용은 수동 백업 만들기를 참고하세요.

GDC 콘솔 또는 API를 사용하여 백업 계획을 만듭니다.

콘솔

  1. GDC 콘솔에 로그인합니다.
  2. 탐색 메뉴에서 클러스터 백업 을 클릭합니다.
  3. 백업 계획 만들기 를 클릭합니다.
  4. 계획 세부정보 섹션에서 다음 단계를 완료하고 계속을 클릭합니다.
    1. 클러스터 목록에서 백업할 클러스터를 선택합니다.
    2. 프로젝트 목록에서 프로젝트를 선택합니다.
    3. 백업 계획 이름 필드에 선택한 백업 계획 이름을 입력합니다.
    4. (선택사항) 백업 계획 설명 에 백업 계획에 대한 설명을 입력합니다.
    5. 백업 저장소 필드에서 백업 저장소를 선택합니다. 백업 저장소는 객체 스토리지 구현의 집합입니다.
    6. 다음 을 클릭합니다.
  5. 범위 및 암호화 섹션에서 다음 단계를 완료하고 계속을 클릭합니다.

    1. 백업 계획의 범위 중 하나를 선택합니다.

      1. 전체 클러스터 를 클릭하여 백업의 모든 네임스페이스 리소스를 백업합니다.
      2. 클러스터 내에서 선택된 네임스페이스 를 클릭하여 백업할 클러스터의 네임스페이스를 선택합니다.
        1. 클러스터 네임스페이스 수정 을 클릭한 후 클러스터 네임스페이스 추가 를 클릭하여 네임스페이스 를 입력합니다.
      3. 이 클러스터 내에서 선택된 보호되는 애플리케이션 을 클릭하고 네임스페이스와 애플리케이션 이름을 지정하여 리소스를 추가합니다.
        1. 보호되는 애플리케이션 수정 을 클릭한 후 보호되는 애플리케이션 추가 를 클릭하여 네임스페이스보호되는 애플리케이션 을 입력합니다.
    2. Kubernetes Secret 리소스를 포함하려면 보안 비밀 포함 을 클릭합니다.

    3. 백업에 볼륨 데이터를 포함하려면 영구 볼륨 데이터 포함 을 클릭합니다. 백업 중에 빈 볼륨을 만들려면 이 체크박스를 선택 취소합니다.

  6. 일정 및 보관 섹션에서 다음 단계를 완료하고 계속을 클릭합니다.

    1. 일정을 정의하려면 CRON 문자열 필드에 표준 크론 구문을 사용하여 표현식을 입력합니다. 예를 들어 10 3 * * * 표현식은 매일 03:10에 백업을 만듭니다. 모든 시간은 UTC로 해석됩니다. 예약된 백업 간의 최소 간격은 10분입니다.
    2. 백업 삭제 후 필드에서 백업을 보관할 일수를 설정합니다. 일수가 도달하면 백업이 자동으로 삭제됩니다.
    3. 백업을 삭제할 수 없는 기간의 일수를 설정합니다.
    4. 보관 정책을 잠그려면 자물쇠 아이콘을 클릭하여 잠금을 끄기 에서 켜기 로 전환합니다.
  7. 백업 계획 세부정보를 검토하고 계획 만들기 를 클릭합니다.

API

클러스터에서 ClusterBackupPlan 커스텀 리소스를 만들어 백업을 예약합니다. 백업 계획은 backupSchedule을 기반으로 백업을 주기적으로 예약합니다. ClusterBackupPlan 리소스는 네임스페이스 리소스입니다. 다음은 ClusterBackupPlan의 예입니다.

apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
  name: CLUSTER_BACKUP_PLAN
  namespace: PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: CLUSTER_NAME
  backupSchedule:
    cronSchedule: CRON_SCHEDULE
    paused: BACKUP_SCHEDULE_STATUS
    maxConcurrency: MAX_CONCURRENCY
  clusterBackupConfig:
    backupScope:
      selectedNamespaces:
        namespaces: [NAME_SPACE]
    clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
  retentionPolicy:
    backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
    backupRetainDays: BACKUP_RETAIN_DAYS
  description: BACKUP_PLAN_DESCRIPTION

다음을 바꿉니다.

  • CLUSTER_BACKUP_PLAN: 클러스터 백업 계획 이름입니다.
  • PROJECT_NAME: GDC 프로젝트의 이름입니다.
  • CLUSTER_NAME: 백업할 클러스터의 이름입니다. 둘러싸는 targetCluster 필드에는 다음과 같은 구성요소가 있습니다.
    • targetClusterType: 백업할 클러스터 유형입니다(예: UserCluster 또는 ManagementAPI). 이 예에서는 UserCluster를 사용합니다.
    • targetClusterName: CLUSTER_NAME으로 설정된 name을 포함합니다.
  • CRON_SCHEDULE: 백업을 예약할 시점을 나타내는 crontab 일정입니다(예: "*/30 * * * *"). 예약된 백업 간의 최소 간격은 10분입니다.
  • BACKUP_SCHEDULE_STATUS: true인 경우 주기적 백업이 예약되지 않습니다.
  • MAX_CONCURRENCY: 백업 계획에서 동시에 존재할 수 있는 활성 예약 백업의 최대 개수를 지정합니다. 지정된 경우 이 백업 계획의 예약 백업이 지정된 시간 동안 활성 상태에 있을 수 있는 개수는 이 개수를 초과하지 않습니다. 지정하지 않으면 기본값은 2입니다. 값은 1에서 7 사이여야 합니다.
  • NAME_SPACE: 백업에 포함할 네임스페이스 목록입니다. 둘러싸는 clusterBackupConfig 필드에는 백업의 구성 세부정보가 포함되어 있습니다.
    • backupScope: 백업되는 리소스를 나타냅니다. 이 예에서는 selectedNamespaces를 사용합니다. 가능한 값은 다음과 같습니다.
      • allNamespaces: 모든 네임스페이스의 모든 리소스를 캡처합니다.
      • selectedNamespaces: 지정된 네임스페이스 목록의 리소스를 캡처합니다.
      • selectedApplication: protectedApplications로 정의된 리소스를 캡처합니다.
    • namespaces: backupScopeselectedNamespaces인 경우 적용됩니다.
  • CLUSTER_BACKUP_REPOSITORY: clusterBackupConfigclusterBackupRepositoryName 값입니다. 백업을 저장하고 ReadWrite로 가져와야 하는 대상 저장소입니다.
  • BACKUP_DELETE_LOCK_DAYS: 백업 생성 후 지정된 일수 동안 백업 삭제를 방지합니다(예: 10 days).
  • BACKUP_RETAIN_DAYS: 백업을 보관할 총 일수를 정의합니다. 이 기간이 지나면 백업이 자동으로 삭제됩니다. 이 값을 더 높게 설정하면 스토리지 소진이 발생할 수 있고, 더 낮은 값으로 설정하면 데이터 손실 위험이 증가할 수 있습니다. 지정하지 않으면 이 값은 기본적으로 35로 설정됩니다. 보관 정책은 스토리지 위치의 보관 정책을 재정의하지 않으며 90일을 초과할 수도 없습니다.
  • BACKUP_PLAN_DESCRIPTION: 백업 계획에 대한 설명입니다.

백업 계획을 만든 후에는 백업 일정에 따라 지정된 백업 구성으로 백업이 자동으로 생성됩니다.

백업 계획 보기

GDC 콘솔을 사용하여 백업 계획을 봅니다.

  1. GDC 콘솔에 로그인합니다.
  2. 탐색 메뉴에서 클러스터 백업 을 클릭합니다.
  3. 프로젝트 선택 을 클릭하고 조직의 모든 백업 계획을 보려면 조직을 선택하거나 프로젝트의 모든 백업 계획을 보려면 프로젝트를 선택합니다.
  4. 백업 계획 탭을 클릭합니다.
  5. 목록에서 백업 계획을 클릭하여 세부정보를 봅니다. 사용자 클러스터 백업 관리자 권한이 있는 사용자는 조직의 모든 백업 계획을 볼 수 있습니다. 백업 생성자 역할이 있는 사용자는 선택한 프로젝트의 모든 백업 계획을 볼 수 있습니다.

백업 계획 수정

GDC 콘솔을 사용하여 백업 계획을 수정합니다.

  1. GDC 콘솔에 로그인합니다.
  2. 탐색 메뉴에서 클러스터 백업 을 클릭합니다.
  3. 프로젝트 선택을 클릭하고 조직의 모든 백업 계획을 보려면 조직을 선택하거나 프로젝트의 모든 백업 계획 을 보려면 프로젝트를 선택합니다.
  4. 백업 계획 탭을 클릭합니다.
  5. 수정할 백업 계획의 이름을 클릭합니다.
  6. 계획 구성 탭을 클릭하여 수정할 수 있는 필드를 봅니다.
  7. **일정 및 보관** 의 수정 아이콘을 클릭하여 해당 리소스를 수정합니다.

    1. 일정을 업데이트하려면 CRON 문자열 필드에 표준 크론 구문을 사용하여 표현식을 입력합니다. 예를 들어 10 3 * * * 표현식은 매일 03:10에 백업을 만듭니다. 모든 시간은 UTC로 해석됩니다. 예약된 백업 간의 최소 간격은 10분입니다.
    2. 백업 삭제 후 필드에서 백업을 보관할 일수를 설정합니다. 일수가 도달하면 백업이 자동으로 삭제됩니다.
    3. 삭제 방지 기간 필드에서 백업을 삭제할 수 없는 기간의 일수를 설정합니다.

    4. 보관 정책을 잠그려면 자물쇠 아이콘 을 끄기 에서 켜기 로 클릭합니다.

    5. 저장 버튼을 클릭하여 변경사항을 확인합니다.

백업 계획 비활성화

GDC 콘솔을 사용하여 백업 계획을 비활성화합니다.

  1. GDC 콘솔에 로그인합니다.
  2. 탐색 메뉴에서 클러스터 백업 을 클릭합니다.
  3. 프로젝트 선택을 클릭하고 조직의 모든 백업 계획을 보려면 조직을 선택하거나 프로젝트의 모든 백업 계획을 보려면 프로젝트를 선택합니다.
  4. 백업 계획 탭을 클릭합니다.
  5. 비활성화할 백업 계획의 이름을 클릭합니다.
  6. 계획 비활성화 버튼을 클릭합니다.
  7. 비활성화할 백업 계획의 이름을 필드에 입력합니다.
  8. 비활성화 버튼을 클릭하여 이 백업 계획의 비활성화를 완료합니다.

다음 단계