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. Execute o comando no diretório$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/
../tools/create-service-account --env non-prod --dir ./
Este comando cria uma única conta de serviço com o nome
apigee-non-prod
para utilização em ambientes de não produção e coloca o ficheiro de chave transferido no diretório./
.Para mais informações sobre as contas de serviço do Google Cloud, consulte o artigo Criar e gerir contas de serviço.
- 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_NAME 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: "myname-cassandra-backup" schedule: "45 23 * * 6" cloudProvider: "GCP" ...
Onde:
- Aplique as alterações de configuração ao novo cluster. Por exemplo:
helm upgrade datastore apigee-datastore/ \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml
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 O caminho tem de ser relativo ao diretório do gráfico apigee-datastore. Por exemplo, |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_NAME O nome de um contentor do Google Cloud Storage existente que vai ser usado para armazenar arquivos de cópias de segurança. Consulte o artigo Criar contentores se precisar de criar um. |
backup:cloudProvider |
Para uma cópia de segurança do Cloud Storage, defina a propriedade como Para uma cópia de segurança do servidor remoto, 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 cópias de segurança do Cassandra são geradas automaticamente de acordo com a programação cron definida no ficheiro overrides.yaml
.
Para iniciar uma cópia de segurança manual, use este comando:
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_POD_NAME