Cette page explique comment planifier des sauvegardes pour Cassandra dans Cloud Storage. Dans cette méthode, les sauvegardes sont stockées dans le bucket Cloud Storage spécifié.
Pour planifier des sauvegardes Cassandra, procédez comme suit :
- Exécutez la commande
create-service-account
suivante pour créer un compte de service Google Cloud avec le rôle standardroles/storage.objectAdmin
. Ce rôle de compte de service vous permet d'écrire les données de sauvegarde dans Cloud Storage. Exécutez la commande suivante dans le répertoire adapté à votre outil de gestion :- Graphiques Helm :
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/
apigeectl
:HYBRID_BASE_DIRECTORY/hybrid-files/
Cette commande crée un seul compte de service nommé./tools/create-service-account --env non-prod --dir ./service-accounts
apigee-non-prod
pour l'utiliser dans des environnements hors production et place le fichier de clé téléchargé dans le répertoire./service-accounts
. Pour en savoir plus sur les comptes de service Google Cloud, consultez Créer et gérer des comptes de service. - Graphiques Helm :
- La commande
create-service-account
enregistre un fichier JSON contenant la clé privée du compte de service. Le fichier est enregistré dans le répertoire où est exécutée la commande. Vous aurez besoin du chemin d'accès à ce fichier lors des étapes suivantes. - Créez un bucket Cloud Storage. Spécifiez une règle de conservation des données raisonnable pour le bucket. Apigee recommande une règle de conservation des données de 15 jours.
- Ouvrez votre fichier
overrides.yaml
. - Ajoutez-y les propriétés
cassandra.backup
suivantes pour activer la sauvegarde. Ne supprimez aucune des propriétés déjà configurées.Paramètres
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) ...
Exemple
... 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" ...
Où :
- Appliquez les changements de configuration au nouveau cluster. Par exemple :
Helm
helm upgrade datastore apigee-datastore/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --datastore
Où OVERRIDES_FILE est le chemin d'accès au fichier que vous venez de modifier.
- Vérifiez la tâche de sauvegarde. Exemple :
kubectl get cronjob -n apigee
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s
Propriété | Description |
---|---|
backup:enabled |
La sauvegarde est désactivée par défaut. Vous devez définir cette propriété sur true . |
backup:serviceAccountPath |
SA_JSON_FILE_PATH Chemin d'accès sur votre système de fichiers au fichier JSON du compte de service qui a été téléchargé lors de l'exécution de la commande Pour les installations gérées avec Helm, le chemin d'accès doit être relatif au répertoire de graphiques apigee-datastore. Par exemple, Pour les installations gérées avec |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_PATH Chemin du bucket Cloud Storage au format suivant : |
backup:cloudProvider |
Pour effectuer une sauvegarde Cloud Storage, définissez la propriété sur Pour effectuer une sauvegarde sur un serveur distant, définissez la propriété sur |
backup:schedule |
BACKUP_SCHEDULE_CODE L'heure de début de la sauvegarde, spécifiée dans la syntaxe crontab standard. Par défaut : |
Lancer une sauvegarde manuelle
Les sauvegardes Cassandra sont générées automatiquement selon la planification Cron définie dans le fichier overrides.yaml
.
Pour lancer une sauvegarde manuelle, utilisez la commande suivante:
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_POD_NAME