È 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.

L'installazione di Plug-in Velero per vSphere nel Supervisore è un prerequisito anche per l'utilizzo di Plug-in Velero per vSphere per il backup e il ripristino dei carichi di lavoro del cluster di Tanzu Kubernetes.
Nota: Plug-in Velero per vSphere non può essere utilizzato per il backup e il ripristino dello stato del Supervisore. Vedere Considerazioni sul backup e il ripristino di vSphere with Tanzu.
Nota: Plug-in Velero per vSphere da solo non esegue backup incrementali. Dell EMC PowerProtect supporta il backup incrementale e utilizza Velero e Plug-in Velero per vSphere.

Prerequisiti

Prima di installare Plug-in Velero per vSphere, verificare che siano soddisfatti i seguenti 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 schermata mostra lo stato finale di un'installazione di Plug-in Velero per vSphere.
  • 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

La schermata mostra il plug-in Velero in vSphere Client.

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)

Anche se non è necessario, negli ambienti di produzione è consigliabile separare il traffico di backup e ripristino dal traffico di rete di gestione di vSphere with Tanzu. Questo approccio prevede due attività:
  • 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.

Per eseguire questa configurazione, utilizzare il Virtual Disk Development Kit. Consultare la documentazione di NBD.
Nota: Se 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.
Una volta abilitato il tag 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 Menu > Rete.
  • Selezionare il vDS esistente per il cluster.
  • Fare clic con il pulsante destro del mouse sul vDS e scegliere Gruppo di porte distribuite > Nuovo gruppo di porte distribuite.
  • 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
Creare un file dei segreti denominato 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.

In un ambiente vSphere with Tanzu installare Data Manager come macchina virtuale.
Nota: Non accendere la macchina virtuale Data Manager finché non si abilita Operatore vSphere Velero.
  1. Scaricare il file OVA di Data Manager:

    https://vsphere-velero-datamgr.s3-us-west-1.amazonaws.com/datamgr-ob-17253392-photon-3-release-1.1.ova

  2. 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.
  3. Selezionare il file OVA di Data Manager scaricato e caricarlo in vCenter Server.
  4. Assegnare ad esempio il nome DataManager alla macchina virtuale.
  5. Selezionare la risorsa di elaborazione che rappresenta il cluster di vSphere in cui è configurato il Supervisore.
  6. Controllare i dettagli della distribuzione della macchina virtuale e fare clic su Avanti.
  7. Accettare il contratto di licenza e fare clic su Avanti.
  8. Selezionare lo storage e fare clic su Avanti.
  9. Selezionare la rete di destinazione per la macchina virtuale Data Manager.
  10. Confermare le selezioni e fare clic su Fine per completare il processo.
  11. 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.
  12. Una volta distribuita la macchina virtuale Data Manager, configurare i parametri di input per la macchina virtuale.
  13. Fare clic con il pulsante destro del mouse sulla macchina virtuale e scegliere Modifica impostazioni.
  14. 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.
  15. Nella scheda Modifica impostazioni > Opzioni della macchina virtuale selezionare Avanzate > Modifica parametri di configurazione.
  16. 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 Configura > Spazi dei nomi > Rete > Rete di gestione > Indirizzo IP iniziale

    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
  17. 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.
  18. 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.

Completare la seguente operazione per registrare la specifica di Velero vSphere Operator con vCenter Server in cui è abilitata la Gestione carico di lavoro e installare Velero vSphere Operator come servizio in Supervisore.
Nota: Velero vSphere Operator viene eseguito come Pod vSphere e pertanto richiede la rete di NSX-T.
  1. 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.

  2. Dal menu home di vSphere Client, selezionare Gestione carico di lavoro.
  3. Selezionare la scheda Servizi.
  4. Selezionare l'istanza di vCenter Server di destinazione dal menu a discesa nella parte superiore.
  5. 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.

  6. Fare clic su Avanti e accettare il contratto di licenza.
  7. 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.

  8. Individuare la specifica Velero vSphere Operator nella scheda Servizi.
  9. Fare clic su Azioni > Installa nei supervisori.
  10. 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.
  11. Configurare l'installazione del servizio Velero vSphere Operator come indicato di seguito:
    1. Selezionare la versione nel menu a discesa: 1.1.0.
    2. In Endpoint repository non specificare alcun valore.
    3. Non immettere un nome utente o una password.
    4. Fare clic su Avanti.
  12. 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.

  1. Dal menu home di vSphere Client, selezionare Gestione carico di lavoro.
  2. Fare clic sulla scheda Supervisori quindi selezionare il Supervisore in cui è stato installato l'operatore di Velero vSphere.
  3. Fare clic sulla scheda Configura e su Panoramica in Servizi supervisore.
  4. Verificare che Velero vSphere Operator sia installato e che il suo stato sia Configurato.
  5. Nella scheda Spazi dei nomi verificare che sia presente un nuovo spazio dei nomi denominato svc-velero-vsphere-domain-xxx, in cui xxx è 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.
  6. Nella vista Host e cluster selezionare la macchina virtuale Data Manager.
  7. 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

Utilizzando vSphere Client, creare manualmente uno Spazio dei nomi vSphere in Supervisore. Questo spazio dei nomi è obbligatorio per Plug-in Velero per vSphere. Per indicazioni, vedere Creazione e configurazione di uno spazio dei nomi di 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.

A questo punto è possibile installare Plug-in Velero per vSphere. A tale scopo, scaricare ed eseguire la CLI velero-vsphere.
Nota: Questa procedura richiede una macchina virtuale Linux. È necessario scaricare ed eseguire velero-vsphere nel jump host Linux in cui vengono eseguite le CLI kubectl-vsphere e kubectl.
  1. Creare una macchina virtuale Linux in cui eseguire la CLI. In alternativa, utilizzare un jump host Linux esistente da cui accedere a Supervisore.
  2. Scaricare la CLI di Plug-in Velero per vSphere dalla posizione seguente:

    https://github.com/vmware-tanzu/velero-plugin-for-vsphere/releases/download/v1.1.0/velero-vsphere-1.1.0-linux-amd64.tar.gz

  3. 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
  4. Estrarre la CLI velero-vsphere e renderla scrivibile.
    tar -xf velero-vsphere-1.1.0-linux-amd64.tar.gz
    chmod +x velero-vsphere
  5. 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
  6. Recuperare la regione, l'URL e il nome del bucket per l'archivio di oggetti compatibile con S3.
  7. Accedere a Supervisore utilizzando Plug-in vSphere per kubectl.
  8. Passare al contesto del Supervisore.
    kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
  9. 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
  10. 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 esempio vsphereveleroplugin/velero-plugin-for-vsphere:v1.1.1 o vsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0. La versione di Velero deve essere v1.5.1 ( velero/velero:v1.5.1).
  11. 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 è installato jq, installarlo o rimuovere tale parte del comando specifica (tutto ciò che segue json).
  12. 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.

Per installare il plug-in, eseguire i passaggi seguenti:
  1. Scaricare le immagini rilasciate di velero-plugin-for-vsphere, backup-driver e data-manager-for-plugin.
  2. Rinominare le immagini, ovvero contrassegnarle con <Registry endpoint and path> e <Version tag> corrispondenti e caricarle in repository personalizzati.
  3. 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 DaemonSet data-manager-for-plugin in background. Nei cluster di Supervisore e Tanzu Kubernetes viene distribuita solo una distribuzione di backup-driver.

    Quando si specifica l'immagine di container di velero-plugin-for-vsphere, le immagini backup-driver e data-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 di backup-driver e data-manager-for-plugin con i <Registry endpoint and path> e <Version tag> corrispondenti.

    Si consideri ad esempio la seguente immagine del container velero-plugin-for-vsphere:
    abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
    È prevista l'estrazione delle seguenti immagini corrispondenti di backup-driver e data-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
  4. Risoluzione dei problemi relativi all'installazione.
    Se si verificano problemi o errori durante l'analisi delle immagini corrispondenti di backup-driver e data-manager-for-plugin, l'installazione ripristina le immagini corrispondenti dei repository velerovsphereplugin ufficiali in Docker Hub. Il meccanismo di fallback viene attivato dai seguenti problemi:
    1. 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.

    2. 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 su velero-server nel file manifests 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, ovvero velero.

Disinstallare Plug-in Velero per vSphere

Per disinstallare Plug-in Velero per vSphere, completare la procedura seguente. Completare questi passaggi nell'ordine in cui sono elencati.
  1. Eseguire la CLI velero-vsphere per disinstallare Plug-in Velero per vSphere.
    ./velero-vsphere uninstall -n velero
  2. 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.

  3. 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 nomi velero venga rimosso (ma non utilizzare kubectl per rimuovere lo spazio dei nomi velero).
  4. Utilizzando vSphere Client, disinstallare Velero vSphere Operator da Supervisore.
    1. Selezionare il cluster vCenter in cui è abilitata Gestione carico di lavoro.
    2. Selezionare Configura > vSphere Services > Panoramica.
    3. Selezionare Velero vSphere Operator.
    4. Fare clic su Disinstalla.

      Questa azione disinstalla Velero vSphere Operator da Supervisore. L'operatore rimane disponibile per la reinstallazione nella pagina Gestione carico di lavoro > Servizi. Per rimuovere completamente il servizio, selezionare Azioni > Elimina.