10장. 사용자 정의 리소스를 사용한 3scale 백업 및 복원
이 장에서는 API Manager CR(사용자 정의 리소스)을 사용하여 배포된 Red Hat 3scale API Management 설치의 백업 및 복원 기능에 대해 자세히 설명합니다. 이 컨텍스트에서 CRD는 3scale Operator에서 제공합니다.
운영자 기능의 사용자 지정 리소스는 3scale 설치의 일부가 아닙니다. 따라서 사용자 정의 리소스는 3scale 설치 백업 및 복원 기능의 일부로 포함되지 않습니다.
사전 요구 사항
- 3scale 설치
다음 섹션에는 운영자를 사용하여 3scale 백업 및 복원을 수행하는 절차가 포함되어 있습니다.
10.1. Operator를 사용하여 3scale 백업 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 APIManager CR(사용자 정의 리소스)에서 배포한 3scale 설치를 백업하는 데 필요한 정보 및 절차를 제공합니다.
10.1.1. 백업 호환 시나리오 링크 복사링크가 클립보드에 복사되었습니다!
백업할 수 있는 3scale 설치 구성을 보려면 다음 섹션을 참조하십시오.
사전 요구 사항
3scale 외부 데이터베이스를 백업합니다.
-
backend-redis
-
system-redis
-
system-database
-
zync
(선택 사항)
-
- PVC에 백업된 데이터를 포함할 충분한 공간을 프로비저닝합니다.
APIManager 를 사용하여 3scale을 배포하는 경우 Amazon S3를 시스템의 FileStorage로 사용할 수 없습니다.
외부 데이터베이스에 대한 자세한 내용은 외부 데이터베이스 설치를 참조하십시오.
10.1.2. 백업 시나리오 범위 링크 복사링크가 클립보드에 복사되었습니다!
다음 데이터베이스가 외부에서 구성되면 백업 기능을 사용할 수 있습니다.
- 백엔드 Redis 데이터베이스
- 시스템 Redis 데이터베이스
- 시스템 데이터베이스 - MySQL 또는 PostgreSQL
- Zync 데이터베이스 (선택 사항)
10.1.3. 백업된 데이터 링크 복사링크가 클립보드에 복사되었습니다!
다음 표는 백업된 데이터 목록을 보여줍니다.
개체 | 개체 유형 데이터 |
---|---|
보안 |
|
ConfigMaps |
|
APIManager | APIManager CR Kubernetes 오브젝트 정의 - json 스키마 정의 |
System FileStorage | System FileStorage의 위치가 PVC(PersistentVolumeClaim)에 있을 때 |
10.1.4. 3scale 백업 링크 복사링크가 클립보드에 복사되었습니다!
기존 APIManager 와 함께 배포된 3scale 설치를 백업하려면 다음 단계를 사용합니다.
절차
다음 Kubernetes 시크릿을 백업합니다.
-
backend-redis
-
system-redis
-
system-database
-
zync
(선택 사항)
-
APIManager 오브젝트에서 관리하는 3scale 설치가 배포된 동일한 네임스페이스에
APIManagerBackup
CR을 생성합니다.예시 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 2에서는 기존 PersistentVolume 이름을 제공합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
APIManagerBackup
이 완료될 때까지 기다립니다.APIManagerBackup
의 콘텐츠를 가져오고.status.completed
필드가 true로 설정될 때까지 대기하여 이를 확인합니다.
백업 내용은 백업 데이터에 자세히 설명되어 있습니다.
APIManagerBackup
의 status 섹션에 있는 다른 필드에는 구성된 백업 대상이 PVC일 때 데이터가 백업된 PVC 이름과 같은 백업 세부 정보가 표시됩니다.
향후 참조의 경우 status.backupPersistentVolumeClaimName
필드 값을 기록해 두십시오. APIManager Restore를 사용하여 APIManager
설치를 복원할 때 필요한 필드 중 하나는 PersistentVolumeClaimName
백업 소스입니다.
10.1.5. 3scale 사용자 정의 리소스 백업 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 관리자 계정 외부의 CR 복사본이 없는 경우 다음 명령을 사용하여 3scale 프로젝트 CR의 백업을 생성합니다.
다음 명령을 입력하여 3scale 프로젝트에서 ActiveDocs CR을 내보냅니다.
oc get activedocs.capabilities.3scale.net -o yaml > activedocs.yaml
oc get activedocs.capabilities.3scale.net -o yaml > activedocs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 backend CR을 내보냅니다.
oc get backend.capabilities.3scale.net -o yaml > backend.yaml
oc get backend.capabilities.3scale.net -o yaml > backend.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 CustomPolicyDefinition CR을 내보냅니다.
oc get custompolicydefinition.capabilities.3scale.net -o yaml > custompolicydefinition.yaml
oc get custompolicydefinition.capabilities.3scale.net -o yaml > custompolicydefinition.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 DeveloperAccount CR을 내보냅니다.
oc get developeraccount.capabilities.3scale.net -o yaml > developeraccount.yaml
oc get developeraccount.capabilities.3scale.net -o yaml > developeraccount.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 DeveloperUser CR을 내보냅니다.
oc get developeruser.capabilities.3scale.net -o yaml > developeruser.yaml
oc get developeruser.capabilities.3scale.net -o yaml > developeruser.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 OpenAPI CR을 내보냅니다.
oc get openapi.capabilities.3scale.net -o yaml > openapi.yaml
oc get openapi.capabilities.3scale.net -o yaml > openapi.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 product CR을 내보냅니다.
oc get product.capabilities.3scale.net -o yaml > product.yaml
oc get product.capabilities.3scale.net -o yaml > product.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 3scale 프로젝트에서 테넌트 CR을 내보냅니다.
oc get tenant.capabilities.3scale.net -o yaml > tenant.yaml
oc get tenant.capabilities.3scale.net -o yaml > tenant.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow