Agendar cópias de segurança no Cloud Storage

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:

  1. Execute o seguinte comando create-service-account para criar uma conta de serviço (CS) do Google Cloud com a função roles/storage.objectAdmin padrão. Esta função de SA permite-lhe escrever dados de cópias de segurança no Cloud Storage. Execute o seguinte comando no diretório hybrid-base-directory/hybrid-files:
    ./tools/create-service-account --env non-prod --dir ./service-accounts
    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 ./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.
  2. 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.
  3. 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.
  4. Abra o ficheiro overrides.yaml.
  5. 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"  # 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: "/Users/myhome/.ssh/my-cassandra-backup-sa.json"
        dbStorageBucket: "gs://myname-cassandra-backup"
        schedule: "45 23 * * 6"
        cloudProvider: "GCP"
        
    
    
      ... 
  6. Onde:
    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 ./tools/create-service-account.

    Também pode indicar um caminho do ficheiro relativo. O caminho é relativo ao diretório hybrid-base-directory/hybrid-files.

    backup:dbStorageBucket

    CLOUD_STORAGE_BUCKET_PATH

    O caminho do contentor do Cloud Storage neste formato: gs://BUCKET_NAME. O campo gs:// é obrigatório.

    backup:cloudProvider

    GCP/HYBRID

    Para uma cópia de segurança do Cloud Storage, defina a propriedade como GCP. Por exemplo, cloudProvider: "GCP".

    Para uma cópia de segurança do servidor remoto, defina a propriedade como HYBRID. Por exemplo, cloudProvider: "HYBRID".

    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: 0 2 * * *

  7. Aplique as alterações de configuração ao novo cluster. Por exemplo:
    $APIGEECTL_HOME/apigeectl apply --datastore -f YOUR_OVERRIDES_FILE

    Em que YOUR_OVERRIDES_FILE é o caminho para o ficheiro de substituições que acabou de editar.

  8. Valide a tarefa de cópia de segurança. Por exemplo:
    kubectl get cronjob -n apigee
    NAME                      SCHEDULE     SUSPEND   ACTIVE   LAST SCHEDULE   AGE
    apigee-cassandra-backup   33 * * * *   False     0        <none>          94s