Nesta página, descrevemos como programar backups do Cassandra no Cloud Storage. Nesse método, os backups são armazenados no bucket especificado do Cloud Storage.
Para programar backups do Cassandra, execute as seguintes etapas:
- Execute o comando
create-service-account
a seguir para criar uma conta de serviço (SA, na sigla em inglês) do Google Cloud com o papel padrãoroles/storage.objectAdmin
. Esse papel da SA permite gravar dados de backup no Cloud Storage. E Execute o seguinte comando no diretório adequado para sua ferramenta de gerenciamento:- Gráficos do Helm:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/
apigeectl
:HYBRID_BASE_DIRECTORY/hybrid-files/
Esse comando cria uma única conta de serviço chamada./tools/create-service-account --env non-prod --dir ./service-accounts
apigee-non-prod
para uso em ambientes de não produção e coloca o arquivo de chave salvo no diretório./service-accounts
. Para mais informações sobre as contas de serviço do Google Cloud, consulte Como criar e gerenciar contas de serviço. - Gráficos do Helm:
- O comando
create-service-account
salva um arquivo JSON que contém a chave privada da conta de serviço. O arquivo é salvo no mesmo diretório em que o comando é executado. Você precisará do caminho desse arquivo nas etapas a seguir. - Crie um bucket do Cloud Storage. Especifique uma política de retenção de dados razoável para o bucket. A Apigee recomenda uma política de retenção de dados de 15 dias.
- Abra o arquivo
overrides.yaml
. - Adicione as seguintes propriedades
cassandra.backup
para ativar o backup. Não remova nenhuma das propriedades já configuradas.Parâmetros
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) ...
Exemplo
... 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: "my-cassandra-backup-sa.json" dbStorageBucket: "gs://myname-cassandra-backup" schedule: "45 23 * * 6" cloudProvider: "GCP" ...
Em que:
- Aplique as alterações de configuração ao novo cluster. Por exemplo:
Helm
helm upgrade datastore apigee-datastore/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --datastore
Em que OVERRIDES_FILE é o caminho para o arquivo de substituição que você acabou de editar.
- Verifique o job de backup. Exemplo:
kubectl get cronjob -n apigee
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s
Propriedade | Descrição |
---|---|
backup:enabled |
O backup está desativado por padrão. É preciso definir essa propriedade como true . |
backup:serviceAccountPath |
SA_JSON_FILE_PATH O caminho no seu sistema de arquivos para o arquivo
JSON da conta de serviço que foi salvo quando você
executou o comando Para instalações gerenciadas pelo Helm, o caminho precisa ser relativo ao diretório do gráfico apigee-datastore. Por exemplo,
Para instalações gerenciadas com |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_PATH O caminho do bucket do Cloud Storage neste formato: |
backup:cloudProvider |
Para um backup do Cloud Storage, defina a propriedade como Para um backup remoto do servidor, defina a propriedade como |
backup:schedule |
BACKUP_SCHEDULE_CODE O horário de início do backup, especificado na
sintaxe padrão de crontab. Padrão: |
Iniciar um backup manual
Os backups do Cassandra são gerados automaticamente de acordo com a programação do cron definida no arquivo overrides.yaml
.
Para iniciar um backup manual, use este comando:
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_POD_NAME