이 페이지에서는 Cloud Storage에서 Cassandra의 백업을 예약하는 방법을 설명합니다. 이 방법에서는 백업이 지정된 Cloud Storage 버킷에 저장됩니다.
Cassandra 백업을 예약하려면 다음 단계를 수행합니다.
- 다음
create-service-account
명령어를 실행하여 표준roles/storage.objectAdmin
역할이 있는 Google Cloud 서비스 계정(SA)을 만듭니다. 이 SA 역할을 사용하면 백업 데이터를 Cloud Storage에 쓸 수 있습니다.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/
디렉터리에서 명령어를 실행합니다../tools/create-service-account --env non-prod --dir ./
이 명령어는 비프로덕션 환경에 사용할
apigee-non-prod
라는 단일 서비스 계정을 만들고 다운로드한 키 파일을./
디렉터리에 둡니다.Google Cloud 서비스 계정에 대한 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.
create-service-account
명령어는 서비스 계정 비공개 키가 포함된 JSON 파일을 저장합니다. 파일은 명령어가 실행되는 동일한 디렉터리에 저장됩니다. 다음 단계에서는 이 파일의 경로가 필요합니다.- Cloud Storage 버킷 생성 버킷에 적절한 데이터 보관 정책을 지정합니다. 데이터 보관 정책을 15일로 설정하는 것이 좋습니다.
overrides.yaml
파일을 엽니다.- 다음
cassandra.backup
속성을 추가하여 백업을 사용 설정합니다. 이미 구성된 속성을 삭제하지 마세요.매개변수
cassandra: ... backup: enabled: true serviceAccountPath: SA_JSON_FILE_PATH dbStorageBucket: CLOUD_STORAGE_BUCKET_PATH schedule: BACKUP_SCHEDULE_CODE cloudProvider: "GCP" # For remote server backup set this to HYBRID (all caps) ...
예
... cassandra: storage: type: gcepd capacity: 50Gi gcepd: replicationType: regional-pd auth: default: password: "abc123" admin: password: "abc234" ddl: password: "abc345" dml: password: "abc456" nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-data backup: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my-cassandra-backup-sa.json" dbStorageBucket: "gs://myname-cassandra-backup" schedule: "45 23 * * 6" cloudProvider: "GCP" ...
각 항목의 의미는 다음과 같습니다.
- 구성 변경사항을 새 클러스터에 적용합니다. 예를 들면 다음과 같습니다.
helm upgrade datastore apigee-datastore/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
여기서 OVERRIDES_FILE은 방금 수정한 재정의 파일의 경로입니다.
- 백업 작업을 확인합니다. 예를 들면 다음과 같습니다.
kubectl get cronjob -n apigee
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s
속성 | 설명 |
---|---|
backup:enabled |
백업은 기본적으로 사용 중지되어 있습니다. 이 속성을 true 로 설정해야 합니다. |
backup:serviceAccountPath |
SA_JSON_FILE_PATH
경로는 apigee-datastore 차트 디렉터리를 기준으로 해야 합니다. 예를 들면 |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_PATH
|
backup:cloudProvider |
Cloud Storage 백업의 경우 속성을 원격 서버 백업의 경우 속성을 |
backup:schedule |
BACKUP_SCHEDULE_CODE 백업이 시작되는 시간이며 표준 crontab 문법에 지정되어 있습니다. 기본값: |
수동 백업 실행
Cassandra 백업은 overrides.yaml
파일에 설정된 크론 일정에 따라 자동으로 생성됩니다.
수동 백업을 시작하려면 다음 명령어를 사용합니다.
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_POD_NAME