Esta página descreve como agendar cópias de segurança para o Cassandra no Cloud Storage. Neste método, as cópias de segurança são armazenadas no contentor do Cloud Storage especificado.
Para agendar cópias de segurança do Cassandra, siga estes passos:
- Execute o seguinte comando
create-service-account
para criar uma conta de serviço (CS) do Google Cloud com a funçãoroles/storage.objectAdmin
padrão. Esta função de SA permite-lhe escrever dados de cópias de segurança no Cloud Storage. E Execute o seguinte comando no diretório adequado para a sua ferramenta de gestão:- Gráficos Helm:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/
apigeectl
:HYBRID_BASE_DIRECTORY/hybrid-files/
Este comando cria uma única conta de serviço com o nome./tools/create-service-account --env non-prod --dir ./service-accounts
apigee-non-prod
para utilização em ambientes de não produção e coloca o ficheiro de chave transferido no diretório./service-accounts
. Para mais informações sobre as contas de serviço do Google Cloud, consulte o artigo Criar e gerir contas de serviço. - Gráficos Helm:
- O comando
create-service-account
guarda um ficheiro JSON que contém a chave privada da conta de serviço. O ficheiro é guardado no mesmo diretório onde o comando é executado. Vai precisar do caminho para este ficheiro nos passos seguintes. - Crie um contentor do Cloud Storage. Especifique uma política de retenção de dados razoável para o contentor. A Apigee recomenda uma política de retenção de dados de 15 dias.
- Abra o ficheiro
overrides.yaml
. - Adicione as seguintes propriedades
cassandra.backup
para ativar a cópia de segurança. 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" # required verbatim "GCP" (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" ...
Onde:
- Aplique as alterações de configuração ao novo cluster. Por exemplo:
Leme
helm upgrade datastore apigee-datastore/ \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --datastore
Em que OVERRIDES_FILE é o caminho para o ficheiro de substituições que acabou de editar.
- Valide a tarefa de cópia de segurança. Por exemplo:
kubectl get cronjob -n APIGEE_NAMESPACE
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s
Propriedade | Descrição |
---|---|
backup:enabled |
A cópia de segurança está desativada por predefinição. Tem de definir esta propriedade como true . |
backup:serviceAccountPath |
SA_JSON_FILE_PATH O caminho no seu sistema de ficheiros para o ficheiro JSON da conta de serviço que foi transferido quando executou o comando Para instalações geridas com o Helm, o caminho tem de ser relativo ao diretório do gráfico apigee-datastore. Por exemplo,
Para instalações geridas com o |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_PATH O caminho do contentor do Cloud Storage neste formato: |
backup:cloudProvider |
Para uma cópia de segurança no Cloud Storage, defina a propriedade como |
backup:schedule |
BACKUP_SCHEDULE_CODE A hora em que a cópia de segurança começa, especificada na
sintaxe crontab padrão. Predefinição: |
Inicie uma cópia de segurança manual
As tarefas de cópia de segurança são acionadas automaticamente de acordo com o agendamento cron definido em
cassandra.backup.schedule no seu ficheiro
overrides.yaml
. No entanto, também pode iniciar manualmente uma tarefa de cópia de segurança, se necessário, usando o seguinte comando:
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup MANUAL_BACKUP_JOB_NAME
Em que MANUAL_BACKUP_JOB_NAME é o nome de uma tarefa de cópia de segurança manual a ser criada.