本页面介绍了如何在 Cloud Storage 中为 Cassandra 安排备份。 通过此方法,备份会存储在指定的 Cloud Storage 存储桶中。
如需计划 Cassandra 备份,请执行以下步骤:
- 运行以下 
create-service-account命令以创建具有标准roles/storage.objectAdmin角色的 Google Cloud 服务账号 (SA)。此 SA 角色允许您将备份数据写入 Cloud Storage。在hybrid-base-directory/hybrid-files目录中执行以下命令: 此命令会创建一个名为./tools/create-service-account --env non-prod --dir ./service-accounts
apigee-non-prod的服务账号,以用于非生产环境,并将下载的密钥文件放在./service-accounts目录中。 如需详细了解 Google Cloud 服务账号,请参阅创建和管理服务账号。 create-service-account命令会保存包含服务账号私钥的 JSON 文件。该文件会保存在执行命令的目录中。执行以下步骤将需要此文件的路径。- 创建 Cloud Storage 存储桶。 为存储桶指定合理的数据保留政策。Apigee 建议采用 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" ...
      其中:
   - 将配置更改应用到新集群。例如:
$APIGEECTL_HOME/apigeectl apply --datastore -f YOUR_OVERRIDES_FILE
其中,YOUR_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 文件系统上指向在运行  您还可以提供相对文件路径。该路径相对于   | 
backup:dbStorageBucket | 
      CLOUD_STORAGE_BUCKET_PATH Cloud Storage 存储桶路径,格式如下:  | 
    
backup:cloudProvider | 
          
 对于 Cloud Storage 备份,请将此属性设置为  对于远程服务器备份,请将此属性设置为   | 
        
backup:schedule | 
      BACKUP_SCHEDULE_CODE 备份的开始时间,使用标准 crontab 语法指定。默认值:  |