9장. 사용자 정의 리소스를 사용한 3scale 백업 및 복원
이 장에서는 API Manager CR(사용자 정의 리소스)을 사용하여 배포된 Red Hat 3scale API Management 설치의 백업 및 복원 기능에 대해 자세히 설명합니다. 이 컨텍스트에서 CRD는 3scale Operator에서 제공합니다.
운영자 기능의 사용자 지정 리소스는 3scale 설치의 일부가 아닙니다. 따라서 사용자 정의 리소스는 3scale 설치 백업 및 복원 기능의 일부로 포함되지 않습니다.
운영자를 사용하는 3scale 백업 및 복원은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
사전 요구 사항
- 3scale 설치
다음 섹션에는 운영자를 사용하여 3scale 백업 및 복원을 수행하는 절차가 포함되어 있습니다.
9.1. Operator를 사용하여 3scale 백업
다음 섹션에서는 APIManager 사용자 지정 리소스에서 배포한 3scale 설치를 백업하는 데 필요한 정보와 절차를 제공합니다.
9.1.1. 백업 호환 시나리오
백업할 수 있는 3scale 설치 구성을 보려면 다음 섹션을 참조하십시오.
사전 요구 사항
3scale 외부 데이터베이스를 백업합니다.
-
backend-redis
-
system-redis
-
system-database
- MySQL 또는 PostgreSQL
-
- PVC에 백업된 데이터를 포함할 충분한 공간을 프로비저닝합니다.
APIManager 를 사용하여 배포되는 3scale 배포는 시스템의 FileStorage로 S3을 사용하여 백업할 수 없습니다.
9.1.2. 백업 시나리오 범위
다음 데이터베이스가 외부에서 구성되면 백업 기능을 사용할 수 있습니다.
- 백엔드 Redis 데이터베이스
- 시스템 Redis 데이터베이스
- 시스템 데이터베이스 - MySQL 또는 PostgreSQL
9.1.3. 백업된 데이터
다음 표는 백업된 데이터 목록을 보여줍니다.
개체 | 개체 유형 데이터 |
---|---|
보안 |
|
ConfigMaps |
|
APIManager | APIManager 사용자 정의 리소스 Kubernetes 오브젝트 정의 - json 스키마 정의 |
System FileStorage | System FileStorage의 위치가 PVC(PersistentVolumeClaim)에 있을 때 |
9.1.4. 3scale 백업
기존 APIManager 와 함께 배포된 3scale 설치를 백업하려면 다음 단계를 사용합니다.
절차
다음 Kubernetes 시크릿을 백업합니다.
-
backend-redis
-
system-redis
-
system-database
-
예와 같이
APIManager 오브젝트에서 관리하는 3scale 설치가 배포되는 동일한 네임스페이스에 APIManager Backup
사용자 정의 리소스를 생성합니다.예시 1
apiVersion: apps.3scale.net/v1alpha1 kind: APIManagerBackup metadata: name: example-apimanagerbackup-pvc spec: backupDestination: persistentVolumeClaim: resources: requests: "10Gi"
예 2에서는 기존 PersistentVolume 이름을 제공합니다.
apiVersion: apps.3scale.net/v1alpha1 kind: APIManagerBackup metadata: name: example-apimanagerbackup-pvc spec: backupDestination: persistentVolumeClaim: # resources specification is required but ignored when providing a volumeName as per K8s PVCs requirements behavior resources: requests: "10Gi" volumeName: "my-preexisting-persistent-volume"
-
APIManagerBackup
이 완료될 때까지 기다립니다.APIManagerBackup
의 콘텐츠를 가져오고.status.completed
필드가 true로 설정될 때까지 대기하여 이를 확인합니다.
백업 내용은 Backed up data 에 자세히 설명되어 있습니다.
APIManagerBackup
의 status 섹션에 있는 다른 필드에는 구성된 백업 대상이 PVC일 때 데이터가 백업된 PVC 이름과 같은 백업 세부 정보가 표시됩니다.
향후 참조의 경우 status.backupPersistentVolumeClaimName
필드 값을 기록해 두십시오. APIManager Restore를 사용하여 APIManager
설치를 복원할 때 필요한 필드 중 하나는 PersistentVolumeClaimName
백업 소스입니다.