In questa pagina viene descritto come utilizzare bmctl
per eseguire il backup e ripristinare i cluster creati con Cluster Anthos su Bare Metal. Queste istruzioni si applicano a tutti i tipi di cluster supportati dai cluster Anthos su Bare Metal.
Il processo di backup e ripristino di bmctl
non include volumi permanenti. I volumi creati dal provisioner del volume locale (LVP) non vengono modificati.
Eseguire il backup di un cluster
Il comando bmctl backup cluster
aggiunge le informazioni del cluster dall'archivio etcd e i certificati PKI del cluster specificato al cluster in un file tar. L'archivio etcd è il backup backup di Kubernetes per tutti i dati del cluster
e contiene tutti gli oggetti Kubernetes e gli oggetti personalizzati necessari per gestire
lo stato del cluster. I certificati PKI vengono utilizzati per l'autenticazione su TLS. Il backup di questi dati viene eseguito dal piano di controllo del cluster o da uno dei piani di controllo per un deployment ad alta disponibilità (HA).
Il file tar di backup contiene le credenziali sensibili, incluse le chiavi dell'account di servizio e la chiave SSH. Archivia i file di backup in un posto sicuro. Per impedire l'esposizione involontaria dei file, il processo di backup dei cluster Anthos su Bare Metal utilizza solo file in memoria.
Effettua regolarmente il backup dei cluster per assicurarti che i dati degli snapshot siano relativamente aggiornati. Regola la frequenza dei backup per riflettere la frequenza delle modifiche significative ai tuoi cluster.
La versione bmctl
che utilizzi per eseguire il backup di un cluster deve corrispondere alla versione del cluster di gestione.
Per eseguire il backup di un cluster:
Assicurati che il cluster funzioni correttamente, con credenziali di lavoro e connettività SSH a tutti i nodi.
Lo scopo del processo di backup è acquisire il tuo cluster in uno stato buono noto, in modo da poter ripristinare l'operazione in caso di errore catastrofico.
Utilizza il comando seguente per controllare il tuo cluster:
bmctl check cluster -c CLUSTER_NAME
Sostituisci
CLUSTER_NAME
con il nome del cluster di cui vuoi eseguire il backup.Esegui il comando seguente per assicurarti che il cluster di destinazione non sia in uno stato di riconciliazione:
kubectl describe cluster CLUSTER_NAME -n CLUSTER_NAMESPACE
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster di cui eseguire il backup.CLUSTER_NAMESPACE
: lo spazio dei nomi per il cluster. Per impostazione predefinita, gli spazi dei nomi dei cluster Anthos su Bare Metal sono il nome del cluster preceduto dacluster-
. Ad esempio, se al tuo cluster viene assegnato il nometest
, lo spazio dei nomi ha un nomecluster-test
.
Controlla l'output comando per
status.conditions
di tipo "Reconcile".Lo stato"False"per
status.conditions
significa che il cluster è stabile e pronto per il backup.Esegui questo comando per eseguire il backup del cluster:
bmctl backup cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster di cui eseguire il backup.ADMIN_KUBECONFIG
: il percorso del file kubeconfig del cluster di amministrazione.
Per impostazione predefinita, il file tar di backup è stato salvato nella directory di Workspace (
bmctl-workspace
, per impostazione predefinita) nella workstation di amministrazione. Il file tar è denominatoCLUSTER_NAME_backup_TIMESTAMP.tar.gz
, doveCLUSTER_NAME
è il nome del cluster di cui viene eseguito il backup eTIMESTAMP
è la data e l'ora in cui è stato eseguito il backup. Ad esempio, se il nome del cluster ètestuser
, il nome del file di backup ètestuser_backup_2006-01-02T150405Z0700.tar.gz
.Per specificare un nome e una posizione diversi per il file di backup, utilizza il flag
--backup-file
.
Il file di backup scade dopo un anno e il processo di ripristino del cluster non funziona con i file di backup scaduti.
Ripristina un cluster
Il ripristino di un cluster da un backup è l'ultima risorsa e deve essere utilizzato quando un cluster ha avuto un errore catastrofico e non può essere restituito in alcun altro modo. Ad esempio, i dati etcd sono danneggiati o il pod etcd
si trova in un loop di arresto anomalo.
Il file tar di backup contiene le credenziali sensibili, incluse le chiavi dell'account di servizio e la chiave SSH. Per impedire l'esposizione involontaria dei file, il cluster Anthos sul processo di ripristino bare metal utilizza solo file in memoria.
La versione bmctl
che utilizzi per ripristinare un cluster deve corrispondere alla versione del cluster di gestione.
Per ripristinare un cluster:
Assicurati che tutte le macchine nodo disponibili per il cluster al momento del backup funzionino e siano raggiungibili.
Assicurati che la connettività SSH tra i nodi funzioni con le chiavi SSH utilizzate al momento del backup.
Queste chiavi SSH vengono reintegrate come parte del processo di ripristino.
Assicurati che le chiavi dell'account di servizio utilizzate al momento del backup siano ancora attive.
Queste chiavi dell'account di servizio vengono reintegrate per il cluster ripristinato.
Per ripristinare un cluster autonomo o un cluster di amministrazione o ibrido gestito autonomamente, esegui il comando seguente:
bmctl restore cluster -c CLUSTER_NAME --backup-file BACKUP_FILE
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster di cui stai eseguendo il ripristino.BACKUP_FILE
: percorso e nome del file di backup utilizzato.
Per ripristinare un cluster utente o un cluster di amministrazione o ibrido che non sono autogestiti, esegui il comando seguente:
bmctl restore cluster -c CLUSTER_NAME --backup-file BACKUP_FILE \ --kubeconfig ADMIN_KUBECONFIG
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster di cui stai eseguendo il ripristino.BACKUP_FILE
: percorso e nome del file di backup utilizzato.ADMIN_KUBECONFIG
: il percorso del file kubeconfig del cluster di amministrazione.
Al termine del processo di ripristino, verrà generato un nuovo file kubeconfig per il cluster ripristinato.