Migrazione dello spazio di archiviazione con gestione basata su criteri di archiviazione

Questo documento mostra come eseguire la migrazione dei dischi da una Datastore vSphere a un altro datastore vSphere Gestione basata su criteri di archiviazione (SPBM).

1.29: Generalmente disponibile
1.28: Anteprima
1.16: Non disponibile

Puoi eseguire la migrazione dei seguenti tipi di spazio di archiviazione:

  • Archiviazione per componenti di sistema gestiti da Google Distributed Cloud, tra cui:

    • Dischi dati (file VMDK) utilizzati dai nodi del piano di controllo dei cluster di amministrazione e i cluster utente di Controlplane V2

    • Dischi di avvio (file VMDK) utilizzati da tutti i nodi del cluster di amministrazione e del cluster utente

    • Volumi vSphere rappresentati da PV/PVC nel cluster di amministrazione e utilizzati dalla dei componenti del piano di controllo kubeception cluster utente

  • Archiviazione per i carichi di lavoro di cui esegui il deployment sui nodi worker del cluster utente con PV/PVC di cui è stato eseguito il provisioning dal plug-in del volume vSphere in-tree Driver CSI vSphere

Prerequisiti per un cluster di amministrazione

  1. Il cluster di amministrazione deve avere un piano di controllo ad alta disponibilità. Se il cluster di amministrazione ha un piano di controllo non ad alta disponibilità, eseguire la migrazione ad alta disponibilità prima di continuare.

  2. Verifica che il cluster di amministrazione disponga di un piano di controllo ad alta disponibilità:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes
    

    Sostituisci ADMIN_CLUSTER_KUBECONFIG con il percorso del cluster di amministrazione kubeconfig.

    Nell'output, assicurati che siano visualizzati tre nodi del piano di controllo. Ad esempio:

    admin-cp-1   Ready    control-plane,master ...
    admin-cp-2   Ready    control-plane,master ...
    admin-cp-3   Ready    control-plane,master ...
    

Prerequisiti per tutti i cluster (amministratore e utente)

  1. La riparazione automatica dei nodi nel cluster deve essere disabilitata. Se la riparazione automatica del nodo attivata, disabilita la riparazione automatica dei nodi.

  2. Il cluster deve utilizzare Gestione basata su criteri di archiviazione (SPBM). Se il cluster non utilizza SPBM, crea un criterio di archiviazione prima di continuare.

  3. Verifica che il cluster utilizzi SPBM:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get onpremadmincluster --namespace kube-system \
      -ojson | jq '{datastore: .items[0].spec.vCenter.datastore, storagePolicyName: .items[0].spec.vCenter.storagePolicyName}'
    

    (Solo cluster utente) Verifica che i pool di nodi utilizzino SPBM:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get onpremnodepools --namespace USER_CLUSTER_NAME-gke-onprem-mgmt \
      -ojson | jq '.items[] | {name: .metadata.name, datastore: .spec.vsphere.datastore, storagePolicyName: .spec.vsphere.storagePolicyName}'
    

    Sostituisci quanto segue:

    • CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster (amministratore o utente).

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del cluster di amministrazione File kubeconfig

    • USER_CLUSTER_NAME: il nome del cluster utente

    Nell'output, se il campo datastore è vuoto e storagePolicyName non è vuoto, significa che il cluster utilizza SPBM.

  4. Il cluster non deve utilizzare il plug-in di volume incorporato vSphere.

    Se hai eseguito l'upgrade del cluster da una versione precedente di Google Distributed Cloud, potrebbe avere PV/PVC di cui il plug-in del volume in-tree vSphere. Questo tipo di volume potrebbe essere utilizzato da un nodo del piano di controllo di cluster utente o da un carico di lavoro creato su un nodo worker.

    Elenco di tutte le PVC e delle relative StorageClass:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get pvc --all-namespaces  \
       -ojson | jq '.items[] | {namespace: .metadata.namespace, name: .metadata.name, storageClassName: .spec.storageClassName}'
    

    Elenca tutte le classi di archiviazione e vedi quali provisioner utilizzano:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass
    

    Nell'output, se la colonna PROVISIONER è kubernetes.io/vsphere-volume, allora i PVC creati con questo oggetto StorageClass utilizzano il volume in-tree vSphere . Per gli StatefulSet che utilizzano questi oggetti PV/PVC, eseguire la migrazione al driver CSI vSphere.

Esegui la migrazione dello spazio di archiviazione

Google Distributed Cloud supporta due categorie di migrazione dello spazio di archiviazione:

  • Storage vMotion per VM, che trasferisce lo spazio di archiviazione delle VM, inclusa la connessione vSphere Volumi CNS utilizzati dai pod in esecuzione su un nodo e VMDK utilizzati da questi CNS delle VM e i volumi collegati ai nodi

  • Trasferimento del volume CNS, che sposta i volumi vSphere CNS specificati in un un datastore compatibile senza eseguire l'archiviazione di vMotion per le VM

Esegui archiviazione di vMotion per VM

La migrazione prevede passaggi da eseguire nell'ambiente e nei comandi vSphere che esegui sulla workstation di amministrazione:

  1. Nel tuo ambiente vSphere, aggiungi i datastore di destinazione allo spazio di archiviazione .

  2. Nel tuo ambiente vSphere, esegui la migrazione delle VM del cluster utilizzando il datastore precedente a il nuovo datastore. Per istruzioni, vedi Esegui la migrazione di una macchina virtuale a una nuova risorsa di computing e archiviazione.

  3. Sulla workstation di amministrazione, verifica che le VM siano state è migrata nel nuovo datastore.

    Inserisci gli oggetti Machine nel cluster:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get machines --output yaml

    Nell'output, in status.disks, puoi vedere i dischi collegati delle VM in esecuzione. Ad esempio:

    status:
    addresses:
    – address: 172.16.20.2
      type: ExternalIP
    disks:
    – bootdisk: true
      datastore: pf-ds06
      filepath: me-xvz2ccv28bf9wdbx-2/me-xvz2ccv28bf9wdbx-2.vmdk
      uuid: 6000C29d-8edb-e742-babc-9c124013ba54
    – datastore: pf-ds06
      filepath: anthos/gke-admin-nc4rk/me/ci-bluecwang-head-2-data.vmdk
      uuid: 6000C29e-cb12-8ffd-1aed-27f0438bb9d9
    

    Verifica che tutti i dischi di tutte le macchine nel cluster siano stati e della migrazione al datastore di destinazione.

  4. Sulla workstation di amministrazione, esegui gkectl diagnose per verificare che il cluster sia integro.

Chiama le API CNS Relocation per spostare i volumi CNS

Se desideri spostare solo i volumi CNS di cui è stato eseguito il provisioning dal driver CSI vSphere, puoi seguire le istruzioni Migrazione dei volumi container in vSphere. Questo potrebbe essere più semplice se hai solo volumi CNS nel datastore precedente.

Se necessario, aggiorna i criteri relativi allo spazio di archiviazione

Nell'ambiente vSphere, aggiorna i criteri relativi allo spazio di archiviazione per escludere il precedente e datastore. In caso contrario, potrebbero essere assegnati nuovi volumi e VM ricreate un vecchio datastore.