È possibile utilizzare Plug-in Velero per vSphere per il backup e il ripristino dei carichi di lavoro in esecuzione in Pod vSphere installando Plug-in Velero per vSphere nel Supervisore.
Panoramica
Plug-in Velero per vSphere fornisce una soluzione per il backup e il ripristino dei carichi di lavoro di vSphere with Tanzu. La soluzione richiede l'installazione e la configurazione di diversi componenti. Dopo aver installato e configurato Plug-in Velero per vSphere nel Supervisore, è possibile eseguire il backup e il ripristino di Pod vSphere. Per i carichi di lavoro persistenti, Plug-in Velero per vSphere consente di creare snapshot dei volumi persistenti.
Prerequisiti
- La versione di Supervisore è 1.21.1 o successiva.
- È stato creato e configurato lo Spazio dei nomi vSphere.
- È necessario essere membri del ruolo di amministratore di vSphere o disporre dei privilegi di vSphere seguenti:
- SupervisorServices.Manage
- Namespaces.Manage
- Namespaces.Configure
- La rete NSX viene utilizzata per supportare la distribuzione di Pod vSphere
- Viene distribuita una macchina virtuale Data Manager
- Velero vSphere Operator è abilitato e in esecuzione nello spazio dei nomi
velero-vsphere-domain-cXX
- È configurato uno spazio dei nomi denominato
velero
- Plug-in Velero per vSphere è in esecuzione come Pod vSphere nello spazio dei nomi
velero
Aggiornamenti
Queste istruzioni presuppongono che si stia utilizzando vSphere 8. Se in precedenza Plug-in Velero per vSphere è stato installato in un ambiente di vSphere 7 U3, durante l'aggiornamento la macchina virtuale di Data Manager e l'operatore di Velero vSphere vengono migrati nel nuovo framework. Velero vSphere Operator viene convertito nel nuovo formato di vSphere Services. Non è richiesta alcuna azione.
Creare una rete dedicata per il backup e il ripristino del traffico (facoltativo)
- Assegnare tag agli host ESXi per supportare la copia del file di rete (NFC)
- Configurare la rete di backup e ripristino utilizzando NSX-T Data Center
Per configurare gli host ESXi di vSphere 8 per il supporto di un trasporto NBD (Network Block Device) dedicato, aggiungere una scheda NIC VMkernel in ogni host ESXi nel cluster di vSphere in cui la gestione del carico di lavoro è abilitata e impostare vSphereBackupNFC
su tale NIC. Quando per una scheda VMkernel viene applicato il tag vSphereBackupNFC
al tipo di NIC, il traffico di backup e ripristino passa attraverso la NIC virtuale scelta.
vSphereBackupNFC
non è abilitato nella scheda NIC VMkernel, il traffico di backup e ripristino non viene inviato nella rete di backup e ripristino, anche se ne viene configurata una. Se
vSphereBackupNFC
non è abilitato, il traffico passa attraverso la rete di gestione di vSphere.
vSphereBackupNFC
, configurare la rete di backup e ripristino mediante NSX-T aggiornando il vSphere Distributed Switch (vDS) esistente per il cluster come indicato di seguito:
- In vSphere Client selezionare .
- Selezionare il vDS esistente per il cluster.
- Fare clic con il pulsante destro del mouse sul vDS e scegliere .
- Creare un nuovo gruppo di porte distribuite denominato BackupRestoreNetwork.
- Aggiungere una scheda VMkernel al gruppo di porte distribuite BackupRestoreNetwork.
- Collegare tutti gli host ESXi nel cluster vCenter in cui è abilitata la gestione del carico di lavoro al gruppo di porte distribuite BackupRestoreNetwork.
- Abilitare il tag
vSphereBackupNFC
.
Per istruzioni sulla creazione di una rete NSX nel vDS esistente, vedere Installazione e configurazione di NSX for vSphere with Tanzu.
Creare un archivio di oggetti compatibile con S3
Per il backup e il ripristino dei volumi persistenti, è necessario fornire un archivio di oggetti compatibile con S3. Velero supporta diversi provider di archivi di oggetti.
Per installare Plug-in Velero per vSphere, è necessario fornire le seguenti informazioni sull'archivio di oggetti compatibile con S3:
Elemento dati | Valore di esempio |
---|---|
s3Url | http://my-s3-store.example.com |
aws_access_key_id | ACCESS-KEY-ID-STRING |
aws_secret_access_key | SECRET-ACCESS-KEY-STRING |
s3-credentials
con le informazioni seguenti. Si farà riferimento a questo file durante l'installazione di
Plug-in Velero per vSphere.
[default] aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
MinIO è un archivio di oggetti compatibile con S3 semplice da installare e utilizzare. vSphere with Tanzu viene fornito con un servizio supervisore MinIO che è possibile abilitare. Per ulteriori informazioni, vedere Abilitazione dei servizi stateful in vSphere con Taznu.
In alternativa, è possibile installare manualmente un server MinIO in una macchina virtuale Linux. Per istruzioni, vedere Installazione e configurazione di Restic e Velero in modalità autonoma in cluster TKG 2 sul supervisore.
Installare e configurare Data Manager
Per semplificare il backup e il ripristino utilizzando Plug-in Velero per vSphere, distribuire una o più macchine virtuali Data Manager per spostare i dati di backup dei volumi persistenti all'interno e all'esterno dello storage di oggetti compatibile con S3. Data Manager sposta i dati dello snapshot del volume dal volume di vSphere allo storage permanente remoto compatibile con S3 in fase di backup e dallo storage remoto compatibile con S3 a un volume di vSphere durante il ripristino.
- Scaricare il file OVA di Data Manager:
- Utilizzando vSphere Client, fare clic con il pulsante destro del mouse sul Data center in cui è abilitata la gestione del carico di lavoro e selezionare Distribuisci modello OVF.
- Selezionare il file OVA di Data Manager scaricato e caricarlo in vCenter Server.
- Assegnare ad esempio il nome DataManager alla macchina virtuale.
- Selezionare la risorsa di elaborazione che rappresenta il cluster di vSphere in cui è configurato il Supervisore.
- Controllare i dettagli della distribuzione della macchina virtuale e fare clic su Avanti.
- Accettare il contratto di licenza e fare clic su Avanti.
- Selezionare lo storage e fare clic su Avanti.
- Selezionare la rete di destinazione per la macchina virtuale Data Manager.
- Selezionare BackupRestoreNetwork se è stata configurata una rete di backup e ripristino dedicata. Vedere Creare una rete dedicata per il backup e il ripristino del traffico (facoltativo).
- Selezionare la Rete di gestione se non è stata configurata una rete di backup e ripristino dedicata.
- Confermare le selezioni e fare clic su Fine per completare il processo.
- Utilizzare il pannello Attività recenti per monitorare l'avanzamento della distribuzione.
Nota: Se viene visualizzato un messaggio di errore che indica che il descrittore OVF non è disponibile, utilizzare il browser Chrome.
- Una volta distribuita la macchina virtuale Data Manager, configurare i parametri di input per la macchina virtuale.
- Fare clic con il pulsante destro del mouse sulla macchina virtuale e scegliere .
- Nella scheda Hardware virtuale, per Unità CD/DVD, passare da Dispositivo host a Dispositivo client.
Nota: Se non si esegue questa operazione, non sarà possibile salvare le impostazioni di configurazione avanzate necessarie.
- Nella scheda selezionare .
- Configurare i parametri di input per ciascuna delle seguenti impostazioni:
Parametro Valore guestinfo.cnsdp.vcUser
Assegnare al nome utente vCenter Server privilegi sufficienti per distribuire le macchine virtuali. guestinfo.cnsdp.vcAddress
Immettere l'indirizzo IP o il nome di dominio completo di vCenter Server. guestinfo.cnsdp.vcPasswd
Immettere la password dell'utente di vCenter Server. guestinfo.cnsdp.vcPort
Il valore predefinito è 443. Non modificare questo valore. guestinfo.cnsdp.wcpControlPlaneIP
Immettere l'indirizzo IP del Supervisore. Per recuperare questo valore, passare al cluster vCenter in cui è abilitata la gestione del carico di lavoro e selezionare
guestinfo.cnsdp.updateKubectl
Il valore predefinito è false. Non modificare questo valore. guestinfo.cnsdp.veleroNamespace
L'impostazione predefinita è velero e, a meno che non vi sia un motivo valido, non deve essere modificata. Nel corso del processo verrà creato uno spazio dei nomi di vSphere nel cluster supervisore con il nome velero
. I nomi devono corrispondere.guestinfo.cnsdp.datamgrImage
Se non è configurato (impostazione annullata), per impostazione predefinita il sistema estrarrà l'immagine del container da Docker Hub in vsphereveleroplugin/data-manager-for-plugin:1.1.0
- Fare clic su OK per salvare la configurazione, quindi di nuovo su OK per salvare le impostazioni della macchina virtuale.
Nota: Se l'unità CD/DVD non è stata modificata da Dispositivo host a Dispositivo client, non è possibile salvare le impostazioni. In questo caso, annullare l'operazione, cambiare unità e ripetere le impostazioni di configurazione avanzate.
- Non accendere la macchina virtuale Data Manager finché non si abilita Operatore vSphere Velero (sezione successiva).
Installazione del servizio Operatore vSphere Velero in Supervisore
vSphere with Tanzu fornisce Operatore vSphere Velero come Servizio supervisore. Il servizio Operatore vSphere Velero funziona con Plug-in Velero per vSphere per supportare il backup e il ripristino dei carichi di lavoro di Kubernetes, inclusa la creazione di snapshot dei volumi persistenti. Per ulteriori informazioni sui Servizi supervisori, vedere Gestione dei servizi supervisore con vSphere with Tanzu.
- Scaricare il file YAML per Velero vSphere Operator dalla seguente posizione:
http://vmware.com/go/supervisor-service
Il file di specifica del servizio è denominato velero-supervisorservice-1.0.0.yaml.
- Dal menu home di vSphere Client, selezionare Gestione carico di lavoro.
- Selezionare la scheda Servizi.
- Selezionare l'istanza di vCenter Server di destinazione dal menu a discesa nella parte superiore.
- Trascinare il file delle specifiche del servizio
velero-supervisorservice-1.0.0.yaml
scaricato nella scheda Aggiungi nuovo servizio.In alternativa, è possibile fare clic su Aggiungi e selezionare il file velero-supervisorservice-1.0.0.yaml.
- Fare clic su Avanti e accettare il contratto di licenza.
- Fare clic su Fine.
Velero vSphere Operator è registrato con vCenter Server. Verificare che lo stato del servizio sia Attivo. Se il servizio è disattivato, non è possibile procedere con l'installazione.
- Individuare la specifica Velero vSphere Operator nella scheda Servizi.
- Fare clic su .
- Selezionare il Supervisore di destinazione in cui si desidera Installare il servizio.
Nota: Se il Supervisore non viene visualizzato, verificare di utilizzare la rete NSX.
- Configurare l'installazione del servizio Velero vSphere Operator come indicato di seguito:
- Selezionare la versione nel menu a discesa: 1.1.0.
- In Endpoint repository non specificare alcun valore.
- Non immettere un nome utente o una password.
- Fare clic su Avanti.
- Fare clic su Fine per completare l'installazione del servizio.
Verificare il servizio Velero vSphere Operator in Supervisore e avviare la macchina virtuale di Data Manager.
- Dal menu home di vSphere Client, selezionare Gestione carico di lavoro.
- Fare clic sulla scheda Supervisori quindi selezionare il Supervisore in cui è stato installato l'operatore di Velero vSphere.
- Fare clic sulla scheda Configura e su Panoramica in Servizi supervisore.
- Verificare che Velero vSphere Operator sia installato e che il suo stato sia Configurato.
- Nella scheda Spazi dei nomi verificare che sia presente un nuovo spazio dei nomi denominato
svc-velero-vsphere-domain-xxx
, in cuixxx
è un token alfanumerico univoco. Si tratta dello spazio dei nomi creato dal sistema per Velero vSphere Operator.Nota: Lo spazio dei nomi non deve essere modificato e non è necessario configurarlo. - Nella vista Host e cluster selezionare la macchina virtuale Data Manager.
- Fare clic con il pulsante destro del mouse sulla macchina virtuale Data Manager e accenderla.
Creare uno spazio dei nomi di vSphere per Plug-in Velero per vSphere
- Assegnare allo spazio dei nomi il nome velero.
- Selezionare lo spazio dei nomi velero e configurarlo.
- Specificare lo storage per lo spazio dei nomi velero.
- Concedere a un utente con i privilegi appropriati l'autorizzazione Modifica nello spazio dei nomi velero.
Installare Plug-in Velero per vSphere.
kubectl-vsphere
e
kubectl
.
- Creare una macchina virtuale Linux in cui eseguire la CLI. In alternativa, utilizzare un jump host Linux esistente da cui accedere a Supervisore.
- Scaricare la CLI di Plug-in Velero per vSphere dalla posizione seguente:
- Copiare in modo sicuro la CLI nel jump host Linux. Ad esempio:
pscp -P 22 C:\temp\velero-vsphere-1.1.0-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
- Estrarre la CLI
velero-vsphere
e renderla scrivibile.tar -xf velero-vsphere-1.1.0-linux-amd64.tar.gz chmod +x velero-vsphere
- Creare il file
s3-credentials
con il seguente contenuto.aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
- Recuperare la regione, l'URL e il nome del bucket per l'archivio di oggetti compatibile con S3.
- Accedere a Supervisore utilizzando Plug-in vSphere per kubectl.
- Passare al contesto del Supervisore.
kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
- Nello spazio dei nomi velero creato installare il file di una mappa di configurazione che specifichi SUPERVISORE come caratteristica del cluster in cui verrà installato il Plug-in Velero per vSphere.
% cat <<EOF | kubectl -n velero apply -f - apiVersion: v1 kind: ConfigMap metadata: name: velero-vsphere-plugin-config data: cluster_flavor: SUPERVISOR EOF
- Eseguire il comando della CLI
velero-vsphere
per installare il Plug-in Velero per vSphere nello spazio dei nomi velero.Sostituire i valori dei segnaposto per i campi BUCKET-NAME, REGION (due istanze) e s3Url con i valori appropriati. Se una delle istruzioni precedenti non è stata seguita, modificare anche tali valori, ad esempio il nome o la posizione del file dei segreti, il nome dello spazio dei nomi
velero
creato manualmente e così via../velero-vsphere install \ --namespace velero \ --image velero/velero:v1.5.1 \ --provider aws \ --plugins velero/velero-plugin-for-aws:v1.1.0,vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0 \ --bucket BUCKET-NAME \ --secret-file s3-credentials \ --snapshot-location-config region=REGION \ --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
Nota: È possibile utilizzare Plug-in Velero per vSphere v1.1.0 e versioni successive nel Supervisore, ad esempiovsphereveleroplugin/velero-plugin-for-vsphere:v1.1.1
ovsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0
. La versione di Velero deve essere v1.5.1 (velero/velero:v1.5.1
). - Verificare la corretta installazione di Plug-in Velero per vSphere.
Al completamento dell'installazione, dovrebbe essere visualizzato il messaggio seguente:
Send the request to the operator about installing Velero in namespace velero
Eseguire il comando seguente per un'ulteriore verifica. Dovrebbero essere visualizzate la dicitura "Completata" e la versione.kubectl -n velero get veleroservice default -o json | jq '.status'
Risultato previsto:{ "enabled": true, "installphase": "Completed", "version": "v1.5.1" }
Nota: Il comando precedente presuppone che sia installata l'utilitàjq
, che formatta l'output JSON inviato al terminale. Se non è installatojq
, installarlo o rimuovere tale parte del comando specifica (tutto ciò che seguejson
). - Risolvere i problemi in base alle necessità.
Se l'installazione non riesce, rimuoverla e riprovare. Per rimuovere l'installazione, completare i passaggi nella sezione successiva nell'ordine in cui sono elencati.
Installare il plug-in Velero in un ambiente con air gap
Se si prevede di installare Plug-in Velero per vSphere in un ambiente con air gap, è necessario installarlo con immagini personalizzate. È necessario assicurarsi che le immagini di backup-driver
e data-manager-for-plugin
corrispondenti delle immagini personalizzate siano disponibili nel registro previsto e siano accessibili dal cluster di Kubernetes. In un ambiente con air gap, sono previste immagini personalizzate dal registro privato, dal momento che le immagini rilasciate in Docker Hub non sono accessibili.
- Scaricare le immagini rilasciate di
velero-plugin-for-vsphere
,backup-driver
edata-manager-for-plugin
. - Rinominare le immagini, ovvero contrassegnarle con
<Registry endpoint and path>
e<Version tag>
corrispondenti e caricarle in repository personalizzati. - Installare il plug-in utilizzando l'immagine
velero-plugin-for-vsphere
personalizzata.Quando si installa Plug-in Velero per vSphere in un cluster di Vanilla, vengono distribuiti due componenti aggiuntivi, una distribuzione di
backup-driver
e un DaemonSetdata-manager-for-plugin
in background. Nei cluster di Supervisore e Tanzu Kubernetes viene distribuita solo una distribuzione dibackup-driver
.Quando si specifica l'immagine di container di
velero-plugin-for-vsphere
, le immaginibackup-driver
edata-manager-for-plugin
corrispondenti vengono analizzate utilizzando un meccanismo di analisi dell'immagine.Le immagini dei contenitori sono modellate nel seguente modello:<Registry endpoint and path>/<Container name>:<Version tag>
Quando si specifica l'immagine di container
velero-plugin-for-vsphere
, vengono analizzate le immagini corrispondenti dibackup-driver
edata-manager-for-plugin
con i<Registry endpoint and path>
e<Version tag>
corrispondenti.Si consideri ad esempio la seguente immagine del containervelero-plugin-for-vsphere
:abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
È prevista l'estrazione delle seguenti immagini corrispondenti dibackup-driver
edata-manager-for-plugin
:abc.io:8989/x/y/.../z/backup-driver:vX.Y.Z abc.io:8989/x/y/.../z/data-manager-for-plugin:vX.Y.Z
- Risoluzione dei problemi relativi all'installazione.
Se si verificano problemi o errori durante l'analisi delle immagini corrispondenti di
backup-driver
edata-manager-for-plugin
, l'installazione ripristina le immagini corrispondenti dei repositoryvelerovsphereplugin
ufficiali in Docker Hub. Il meccanismo di fallback viene attivato dai seguenti problemi:- Nell'immagine
velero-plugin-for-vsphere
personalizzata viene utilizzato un nome di container non previsto nell'input dell'utente.Ad esempio, viene utilizzato
x/y/velero-velero-plugin-for-vsphere:v1.1.1
. - Il nome della distribuzione Velero è personalizzato per tutto ciò che è diverso da
velero
. Ad esempio, se il nome della distribuzione di Velero viene aggiornato impostandolo suvelero-server
nel filemanifests
di Velero prima di distribuire Velero, viene generato un problema.Il meccanismo di analisi dell'immagine esistente in
velero-plugin-for-vsphere
è in grado di riconoscere solo la distribuzione di Velero con il nome corretto, ovverovelero
.
- Nell'immagine
Disinstallare Plug-in Velero per vSphere
- Eseguire la CLI
velero-vsphere
per disinstallare Plug-in Velero per vSphere../velero-vsphere uninstall -n velero
- Verificare che il Pod vSphere denominato
velero
venga rimosso.kubectl get pods -n velero
Se lo stato del pod è "Completamento in corso", attendere che venga rimosso prima di procedere.
- Utilizzando vSphere Client, eliminare lo Spazio dei nomi vSphere denominato
velero
creato manualmente.Nota: Non procedere con il passaggio successivo finché l'eliminazione dello spazio dei nomi non verrà completata. È possibile utilizzare kubectl per verificare che lo spazio dei nomivelero
venga rimosso (ma non utilizzare kubectl per rimuovere lo spazio dei nomivelero
). - Utilizzando vSphere Client, disinstallare Velero vSphere Operator da Supervisore.
- Selezionare il cluster vCenter in cui è abilitata Gestione carico di lavoro.
- Selezionare .
- Selezionare Velero vSphere Operator.
- Fare clic su Disinstalla.
Questa azione disinstalla Velero vSphere Operator da Supervisore. L'operatore rimane disponibile per la reinstallazione nella pagina . Per rimuovere completamente il servizio, selezionare .