Google Distributed Cloud (GDC) 에어 갭의 수동 백업을 사용하면 애플리케이션 업그레이드 전에 Kubernetes 클러스터의 컨테이너 워크로드와 영구 볼륨을 보호할 수 있습니다. 기존 계획에서 주문형 사본을 만들고, 상태를 검사하고, 오래된 항목을 삭제할 수 있습니다.
시작하기 전에
애플리케이션 운영자 (AO) 사용자는 기존 백업 계획에서만 수동 백업을 수행할 수 있습니다.
IAM 역할 요청
백업을 만들고, 보고, 삭제하려면 IAM 조직 관리자 또는 IAM 프로젝트 관리자에게 다음 역할 중 하나를 부여해 달라고 요청하세요.
사용자 클러스터 백업 관리자 (
user-cluster-backup-admin): 사용자 클러스터에서 백업 및 복원 계획과 같은 백업 리소스를 만들고, 가져오고, 나열하고, 감시하고, 업데이트하고, 패치하고, 삭제합니다. IAM 조직 관리자에게 문의하여 이 역할을 요청하세요.백업 생성자 (
backup-creator): 수동 백업 요청 및 수동 복원 요청을 만들고, 가져오고, 나열하고, 감시하고, 업데이트하고, 패치하고, 삭제합니다. IAM 프로젝트 관리자에게 문의하여 이 역할을 요청하세요.
수동 백업 만들기
백업 계획으로 백업 일정이 정의된 경우 해당 일정에 따라 백업이 자동으로 생성됩니다. 백업 계획 일정 범위 외에 백업을 수동으로 만들 수도 있습니다. 예를 들어 애플리케이션을 업그레이드하기 전 워크로드를 백업해야 할 수 있습니다. 백업에는 노드 구성, 노드 풀, 초기 클러스터 크기, 사용 설정된 기능과 같은 클러스터 구성 정보가 포함되지 않습니다.
백업에는 두 가지 데이터 형태가 캡처됩니다.
- 구성 백업: 백업을 진행 중인 클러스터의 API 서버에서 추출한 Kubernetes 리소스 설명 집합입니다.
- 볼륨 백업:
PersistentVolumeClaims의 백업입니다.
콘솔
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 클러스터 백업을 클릭합니다.
- 백업 계획 탭을 클릭합니다.
- 백업에 사용할 계획을 클릭합니다.
- 백업 시작을 클릭합니다.
- 백업 이름과 설명(선택사항)을 입력합니다.
- 백업을 보관할 일수를 설정합니다. 이 일수에 도달하면 백업이 자동으로 삭제됩니다.
- 백업을 삭제할 수 없는 기간의 일수를 설정합니다.
- 시작을 클릭합니다.
API
수동 백업은 백업 구성에 대한 기존 백업 계획을 참조해야 하며 백업은 ManualClusterBackupRequest를 실행하여 만들어야 합니다.
다음은 ManualClusterBackupRequest의 예입니다.
apiVersion: backup.gdc.goog/v1
kind: ManualClusterBackupRequest
metadata:
name: manualbackuprequest-test
namespace: PROJECT_NAME
spec:
clusterBackupName: "backup-test"
clusterBackupPlanRef: "backupplan-test"
deleteLockDays: 5
retainDays: 6
PROJECT_NAME를 GDC 프로젝트 이름으로 바꿉니다.
이 예시에는 다음 값이 포함됩니다.
| 값 | 설명 |
|---|---|
clusterBackupName |
만들려는 백업의 이름입니다. |
clusterBackupPlanRef |
백업 구성에 사용할 ClusterBackupPlan의 이름입니다. 백업 계획은 ManualClusterBackupRequest와 동일한 네임스페이스에 있어야 합니다. |
deleteLockDays |
백업 생성 후 지정된 일수 동안 백업 삭제를 차단합니다. 이렇게 하면 ClusterBackupPlan의 retentionPolicy가 재정의됩니다.
|
retainDays |
백업 생성 후 지정된 일수에 도달하면 백업을 삭제합니다. 이 값은 ClusterBackupPlan의 retentionPolicy를 재정의합니다.
보관 정책은 스토리지 위치의 보관 정책을 재정의하지 않으며 90일을 초과할 수 없습니다.
|
백업 보기
사용자 클러스터 백업 관리자 (user-cluster-backup-admin) 역할이 있는 사용자는 조직의 모든 백업을 볼 수 있습니다.
백업 생성자 (backup-creator) 역할이 있는 사용자는 프로젝트의 모든 백업을 볼 수 있습니다.
콘솔
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 클러스터 백업을 클릭합니다.
- 프로젝트 선택을 클릭하여 역할에 따라 조직 또는 프로젝트를 선택합니다.
- 사용자 클러스터 백업 관리자: 조직을 선택하여 조직의 모든 백업을 보거나 프로젝트를 선택하여 프로젝트의 모든 백업을 봅니다.
- 백업 생성자: 프로젝트를 선택하여 프로젝트의 모든 백업을 확인합니다.
- 백업 탭을 클릭합니다.
- 목록에서 백업을 클릭하여 세부정보를 확인합니다.
kubectl
백업 목록을 봅니다.
kubectl get clusterBackups
출력 예시는 다음과 같습니다.
NAME STATE
backup-test Succeeded
백업 삭제
Kubernetes API 서버와의 일반적인 상호작용으로는 백업을 삭제할 수 없습니다. 백업을 삭제하려면 GDC 콘솔을 사용하거나 DeleteClusterBackupRequest를 실행합니다.
콘솔
백업 탭에서 백업을 삭제합니다.
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 클러스터 백업을 클릭합니다.
- 프로젝트 선택을 클릭하여 역할에 따라 조직 또는 프로젝트를 선택합니다.
- 사용자 클러스터 백업 관리자: 조직을 선택하여 조직의 모든 백업을 보거나 프로젝트를 선택하여 프로젝트의 모든 백업을 봅니다.
- 백업 생성자: 프로젝트를 선택하여 프로젝트의 모든 백업을 확인합니다.
- 백업 탭을 클릭합니다.
- 삭제하려는 백업의 점 3개 메뉴 아이콘을 클릭합니다.
- 텍스트 입력란에 백업 이름을 입력합니다.
백업 삭제 버튼을 클릭하여 이 백업 삭제를 완료합니다.
또는 백업 계획을 볼 때 백업 이름을 클릭하여 백업을 삭제합니다.
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 클러스터 백업을 클릭합니다.
- 프로젝트 선택을 클릭하고 역할에 따라 조직 또는 프로젝트를 선택합니다.
- 사용자 클러스터 백업 관리자: 조직을 선택하여 조직의 모든 백업 계획을 보거나 프로젝트를 선택하여 프로젝트의 모든 백업 계획을 봅니다.
- 백업 생성자: 프로젝트를 선택하여 프로젝트의 모든 백업 계획을 확인합니다.
- 백업 계획 탭을 클릭합니다.
- 삭제할 백업이 포함된 백업 계획의 이름을 클릭합니다.
- 백업 탭을 클릭합니다.
- 삭제할 백업의 이름을 클릭합니다.
- 백업 삭제 버튼을 클릭합니다.
- 텍스트 입력란에 백업 이름을 입력합니다.
삭제 버튼을 클릭하여 이 백업 삭제를 완료합니다.
kubectl
DeleteClusterBackupRequest 요청을 전송합니다.
apiVersion: backup.gdc.goog/v1
kind: DeleteClusterBackupRequest
metadata:
name: deletebackuprequest-test
namespace: PROJECT_NAME
spec:
clusterBackupRef: "backup-test"
PROJECT_NAME를 GDC 프로젝트 이름으로 바꿉니다.
이 예시에는 다음 값이 포함됩니다.
backupName: 삭제 중인 백업의 이름입니다. 이 백업은DeleteClusterBackupRequest와 동일한 네임스페이스에 있어야 합니다.DeleteClusterBackupRequest: 클러스터에서 백업 커스텀 리소스를 삭제하고 볼륨 데이터를 포함하여 백업의 스토리지 위치에서 해당 백업과 연결된 모든 아티팩트를 삭제하는 리소스입니다.