- v1.12 (più recente)
- Versione 1.11
- Versione 1.10
- Elenco delle versioni supportate
- Versione 1.9
- Versione 1.8
- Versione 1.7
- Versione 1.6
- Versione 1.5
- Versione 1.4
- Versione 1.3
- Versione 1.2
- Versione 1.1
Versioni supportate:
Versioni non supportate:
Puoi eseguire il backup e il ripristino dei tuoi dati ibridi utilizzando gli snapshot CSI (Container Storage Interface). Il backup CSI genera snapshot del disco e li archivia come dati criptati nello spazio di archiviazione sul cloud. Il backup CSI non ha bisogno di un bucket Google Cloud Storage o di un server remoto per archiviare i dati di backup.
Il backup CSI è consigliato per le istanze ibride ospitate in Google Cloud, AWS o Azure.
In questa pagina vengono descritti i passaggi per utilizzare il backup e ripristino CSI ibrido. Per una panoramica generale del backup e ripristino di tipo ibrido in generale, consulta la panoramica del backup e ripristino di Cassandra.
Limitazioni di backup e ripristino
Tieni presente le seguenti limitazioni quando utilizzi il backup e ripristino della crittografia lato client:
- Il driver CSI utilizzato dalla classe di archiviazione configurata deve supportare gli snapshot CSI. Consulta questo elenco dei driver CSI di Kubernetes per informazioni sui driver.
- Non tutte le piattaforme sono supportate. Sono supportate solo le piattaforme Google Cloud, AWS e Azure.
- OpenShift Container Platform non è supportato a causa delle limitazioni degli snapshot del volume.
- Sono supportate solo piattaforme cloud. Le piattaforme on-prem non sono supportate.
- I dati di backup CSI e i dati di backup ibrido non CSI non sono compatibili. I backup non CSI non possono essere utilizzati con il ripristino CSI, mentre i backup CSI non possono essere utilizzati con il ripristino non CSI.
- La responsabilità dell'installazione e della funzionalità del driver CSI è responsabilità del fornitore del driver CSI.
- È responsabilità degli utenti garantire che siano disponibili risorse adeguate del cluster per il provisioning degli snapshot CSI.
- È responsabilità degli utenti rimuovere i dati delle istantanee meno recenti.
Configura i backup CSI
Per pianificare backup ibridi utilizzando CSI:
- Se non hai già configurato il backup ibrido:
- Esegui questo comando
create-service-account
per creare un account di servizio (SA) Google Cloud con il ruoloroles/storage.objectAdmin
standard. Questo ruolo SA consente di scrivere dati di backup in Cloud Storage. Esegui questo comando nella directory appropriata per il tuo strumento di gestione:- Grafici Helm:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/
apigeectl
:HYBRID_BASE_DIRECTORY/hybrid-files/
./tools/create-service-account --env non-prod --dir ./service-accounts
Questo comando crea un singolo account di servizio denominato
apigee-non-prod
per l'utilizzo in ambienti non di produzione e inserisce il file della chiave scaricato nella directory./service-accounts
.Per saperne di più sugli account di servizio Google Cloud, consulta Creazione e gestione degli account di servizio.
- Grafici Helm:
- Il comando
create-service-account
salva un file JSON contenente la chiave privata dell'account di servizio. Il file viene salvato nella stessa directory in cui viene eseguito il comando. Il percorso di questo file sarà necessario nei seguenti passaggi.
- Esegui questo comando
- Apri il file
overrides.yaml
. Imposta i seguenti parametri, come mostrato in Esempi di file di override.- Imposta i parametri generali mostrati di seguito nel blocco
backup
. Se hai già impostato questi parametri per la soluzione di backup ibrido non CSI, puoi utilizzare gli stessi parametri per gli snapshot CSI. Per saperne di più su ciascun valore, consulta la tabella di riferimento delle proprietà di backup.
Per
backup
:- enabled:imposta su
true
per abilitare i backup pianificati. - pullPolicy nell'immagine: impostato su
Always
. - serviceAccountPath: il percorso dell'account di servizio.
- schedule: fornisci una pianificazione dell'espressione cron.
- enabled:imposta su
- Imposta questi parametri per il backup specifico per CSI:
- Valori del gruppo di archiviazione Cassandra:la classe di archiviazione Cassandra configurata deve supportare gli snapshot CSI affinché il backup e il ripristino CSI funzionino. Per verificare se una classe di archiviazione supporta gli snapshot CSI, esegui questo comando per ottenere le classi di archiviazione disponibili:
kubectl get sc
Controlla l'output " provisioner" per ogni classe di archiviazione. I provisioner che utilizzano CSI di solito hanno una parte ".csi." nel nome, ad esempio "pd.csi.storage.gke.io". Cerca il nome del provisioner in questo elenco dei driver CSI di Kubernetes. Se la colonna "Other Features" per il provisioner contiene la parola "SNAPSHOT", la classe di archiviazione che utilizza il provisioner supporta gli snapshot CSI.Aggiungi questi parametri al gruppo di archiviazione. Entrambi i valori sono obbligatori.
- storageclass::un nome di una classe di archiviazione abilitata per CSI.
- capacity: la capacità del disco.
- Tipo di cloud provider:
Una volta verificata la funzionalità di snapshot CSI, modifica il file di override per utilizzare il backup e ripristino CSI:
- cloudProvider: imposta
cloudProvider
inbackup
erestore
suCSI
.
- cloudProvider: imposta
- Valori del gruppo di archiviazione Cassandra:la classe di archiviazione Cassandra configurata deve supportare gli snapshot CSI affinché il backup e il ripristino CSI funzionino. Per verificare se una classe di archiviazione supporta gli snapshot CSI, esegui questo comando per ottenere le classi di archiviazione disponibili:
- Imposta i parametri generali mostrati di seguito nel blocco
Configurazione di backup di esempio
Questa sezione mostra le parti relative al backup di un fileoverrides.yaml
di esempio.
cassandra: hostNetwork: false replicaCount: 3 storage: storageclass: standard-rwo capacity: 100Gi image: pullPolicy: Always backup: enabled: true image: pullPolicy: Always serviceAccountPath: "/Users/myuser/apigee-hybrid/hybrid-files/service-accounts/mycompany-hybrid-apigee-cassandra.json" cloudProvider: "CSI" schedule: "0 * * 11 *"
Avvia un backup manuale
I backup CSI vengono generati automaticamente in base alla pianificazione cron impostata nel file overrides.yaml
.
Per avviare un backup CSI manuale, utilizza questo comando:
kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup backup-pod-namedove
backup-pod-name
è il nome del pod di backup che verrà creato.
Verifica i backup
Un modo per verificare che un backup sia stato creato correttamente è controllare gli snapshot del volume nel cluster Kubernetes, utilizzando questo comando:
kubectl get volumesnapshot -n apigee
L'output mostra l'elenco attuale di snapshot sul cluster. Il processo di backup CSI crea uno snapshot di ogni disco Cassandra. Il numero di snapshot generati deve corrispondere al numero totale di pod cassandra nel cluster.
Ripristino di un backup
Utilizza questa procedura per ripristinare un backup CSI generato in precedenza. Per informazioni generali sul ripristino dei backup e una panoramica del processo, consulta la pagina della panoramica del ripristino.
Per avviare il ripristino di un backup CSI, segui le istruzioni per il
ripristino ibrido a regione singola non CSI,
ma utilizza questi valori nel blocco restore
di overrides.yaml
.
Consulta la tabella di riferimento delle proprietà di backup per saperne di più su ciascun valore e la configurazione di ripristino di esempio per un esempio.
- enabled:imposta su
true
per abilitare il ripristino per il backup a cui viene fatto riferimento con il timestampsnapshotTimestamp
. - snapshotTimestamp: fornisce il timestamp di un backup CSI precedente.
- serviceAccountPath: il percorso dell'account di servizio.
- pullPolicy nell'immagine: impostato su
Always
.
Per trovare il valore snapshotTimestamp
da ripristinare, esegui questo comando per ottenere l'elenco degli snapshot disponibili:
kubectl get volumesnapshot -n apigeeNell'elenco restituito, i nomi degli snapshot contengono il timestamp:
pvc-us-west2-b-20220803004907-47beff0e306d8861In questo esempio il timestamp è
20220803004907
.
Configurazione di ripristino di esempio
Questa sezione mostra le parti relative al ripristino di un fileoverrides.yaml
di esempio.
cassandra: hostNetwork: false replicaCount: 3 storage: storageclass: standard-rwo capacity: 100Gi image: pullPolicy: Always restore: enabled: true snapshotTimestamp: "20220908222130" serviceAccountPath: "/Users/myuser/apigee-hybrid/hybrid-files/service-accounts/mycompany-hybrid-apigee-cassandra.json" cloudProvider: "CSI" image: pullPolicy: Always
Esegui la migrazione a backup e ripristino CSI
Se non hai mai utilizzato il backup e ripristino ibrido, puoi seguire le istruzioni in Configurare i backup CSI per creare nuovi backup CSI senza i passaggi in questa sezione. Questi passaggi ti guidano nella migrazione dalla soluzione di backup e ripristino non CSI ai backup CSI.
- Genera un nuovo backup utilizzando il metodo di backup non CSI attualmente configurato.
- Modifica la configurazione del backup nel file
overrides.yaml
ibrido per utilizzare gli override del backup CSI, come mostrato nell'esempio di configurazione del backup. - Applica le modifiche nel file
overrides.yaml
:Helm
helm upgrade datastore apigee-datastore/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml
- Verifica il job di backup:
kubectl get cronjob -n apigee
- Una volta completato un job di backup, verifica che siano stati creati snapshot. Il numero di snapshot generati dovrebbe essere equivalente al numero di nodi Cassandra nell'istanza ibrida.
kubectl get volumesnapshot -n apigee