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. 백업된 데이터

다음 표는 백업된 데이터 목록을 보여줍니다.

표 9.1. 백업되는 데이터
개체개체 유형 데이터

보안

  • system-smtp
  • system-seed
  • backend-internal-api
  • backend-listener
  • system-events-hook
  • system-app
  • system-recaptcha
  • zync
  • system-master-apicast
  • system-memcache
  • system-database
  • backend-redis
  • system-redis

ConfigMaps

  • system-environment
  • apicast-environment

APIManager

APIManager 사용자 정의 리소스 Kubernetes 오브젝트 정의 - json 스키마 정의

System FileStorage

System FileStorage의 위치가 PVC(PersistentVolumeClaim)에 있을 때

9.1.4. 3scale 백업

기존 APIManager 와 함께 배포된 3scale 설치를 백업하려면 다음 단계를 사용합니다.

절차

  1. 다음 Kubernetes 시크릿을 백업합니다.

    • backend-redis
    • system-redis
    • system-database
  2. 예와 같이 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"

  3. APIManagerBackup 이 완료될 때까지 기다립니다. APIManagerBackup 의 콘텐츠를 가져오고 .status.completed 필드가 true로 설정될 때까지 대기하여 이를 확인합니다.

백업 내용은 Backed up data 에 자세히 설명되어 있습니다.

APIManagerBackup 의 status 섹션에 있는 다른 필드에는 구성된 백업 대상이 PVC일 때 데이터가 백업된 PVC 이름과 같은 백업 세부 정보가 표시됩니다.

향후 참조의 경우 status.backupPersistentVolumeClaimName 필드 값을 기록해 두십시오. APIManager Restore를 사용하여 APIManager 설치를 복원할 때 필요한 필드 중 하나는 PersistentVolumeClaimName 백업 소스입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.