Per i cluster creati utilizzando versioni precedenti di VMware Cloud Director Container Service Extension, è necessario eseguire un aggiornamento una tantum dello script. In questo modo, i cluster diventano compatibili con la versione di VMware Cloud Director Container Service Extension che si desidera utilizzare.

Per impostazione predefinita, i cluster creati con versioni precedenti di VMware Cloud Director Container Service Extension, funzionano sulle seguenti versioni precedenti dei componenti di Kubernetes. È necessario eseguire l'aggiornamento alle versioni più recenti descritte di seguito.
Componenti Kubernetes Versione esistente Versione dell'aggiornamento per 4.2 Versione dell'aggiornamento per 4.2.1 Versione dell'aggiornamento per 4.2.2
Kubernetes Cloud Provider for VMware Cloud Director 1.5.0, 1.4.1 o versioni precedenti 1.5.0 1.6.0 1.6.0
Kubernetes Container Storage Interface driver for VMware Cloud Director 1.5.0, 1.4.1 o versioni precedenti 1.5.0 1.6.0 1.6.0
Kubernetes Cluster API Provider for VMware Cloud Director 1.2.0, 1.1.1 o versioni precedenti 1.2.0 1.3.0 1.3.0
Proiettore RDE 0.7.0, 0.6.1 o versioni precedenti 0.7.0 0.7.0 0.7.1

Prerequisiti

Prima di eseguire questa attività, assicurarsi che siano soddisfatti i seguenti prerequisiti:
  • La macchina deve utilizzare il sistema operativo Ubuntu GNU/Linux 20.04.
  • Assicurarsi che kubectl sia installato. Per ulteriori informazioni, vedere Installazione e configurazione di kubectl in Linux.
  • Assicurarsi di installare e utilizzare Docker. Per ulteriori informazioni consultare Installazione del motore Docker.
  • Assicurarsi che kubeconfig del cluster sia presente nella macchina in un percorso accessibile.

Procedura

  1. Utilizzare il comando seguente per impostare la directory $HOME:
    export $HOME=<directory of choice>
    Nota: Per verificare che la directory $HOME sia impostata correttamente, utilizzare il comando seguente per stampare la directory $HOME. Non deve essere vuoto.
    echo $HOME
  2. Utilizzare il comando seguente per creare una struttura di cartelle per il montaggio e l'archiviazione del contenuto dello script di aggiornamento del cluster:
    mkdir -p $HOME/cluster-upgrade-script
  3. Passare alla cartella creata e utilizzare il comando seguente per effettuare il pull dell'immagine dello script di aggiornamento del cluster da http://projects.registry.vmware.com.
    • Per la versione 4.2:

      cd $HOME/cluster-upgrade-script
      docker pull projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.2
    • Per la versione 4.2.1:
      cd $HOME/cluster-upgrade-script
      docker pull projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.3
    • Per la versione 4.2.2:
      cd $HOME/cluster-upgrade-script
      docker pull projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.4
  4. Dopo aver effettuato il pull dell'immagine, utilizzare docker per estrarre il contenuto dell'immagine nella cartella creando un container ed estraendolo.
    • Per la versione 4.2:
      docker container create --name "temp_container" projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.2
      docker export "temp_container" | tar -C $HOME/cluster-upgrade-script -xvf - --strip-components 2
    • Per la versione 4.2.1:
      docker container create --name "temp_container" projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.3
      docker export "temp_container" | tar -C $HOME/cluster-upgrade-script -xvf - --strip-components 2
    • Per la versione 4.2.2:
      docker container create --name "temp_container" projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.4
      docker export "temp_container" | tar -C $HOME/cluster-upgrade-script -xvf - --strip-components 2
  5. Dopo aver estratto i contenuti nella cartella è possibile rimuovere il container temporaneo in modo sicuro:
    docker container rm "temp_container" 
  6. Dopo aver estratto tutto il contenuto nella cartella principale, aprire la directory e aggiornare le autorizzazioni per lo script:
    cd $HOME/cluster-upgrade-script
    chmod +x upgrade_cluster_components.sh
  7. Eseguire il comando seguente nella cartella principale:
    ./upgrade_cluster_components.sh kubeconfig-absolute-file-path [image registry] 
    
    Example: ./upgrade_cluster_components.sh $HOME/kubeconfig-cluster.txt projects.registry.vmware.com

    image_registry è un parametro facoltativo che definisce il registro da cui lo script deve effettuare il pull delle immagini e si aspetta che contenga immagini come CSI/CPI CRS, manifesti CAPVCD ecc .

    Quando non si utilizza il registro privato/locale/air-gap, utilizzare projects.registry.vmware.com come image_registry. In alternativa, se il parametro è vuoto per impostazione predefinita viene utilizzato image_registry: projects.registry.vmware.com.

    Per il registro privato/locale utilizzare il link del registro per il parametro. Ad esempio, my-private.registry.com. Assicurarsi che la macchina virtuale in cui vengono eseguiti gli script consideri attendibile il registro di sistema, in caso contrario potrebbero verificarsi errori come x509 certificate signed by unknown authority.

    Nota:
    • Durante l'esecuzione dello script, tutti gli artefatti immagine vengono scaricati in $HOME/cluster-upgrade-packages/.
    • Se si verificano errori durante l'aggiornamento dallo script rimuovere la cartella in modo sicuro ed eseguire nuovamente lo script per creare la cartella.
    • In $HOME/.cluster-api viene creata una cartella aggiuntiva per clusterctl. È possibile eliminare la cartella in modo sicuro perché il nuovo tentativo di esecuzione dello script crea la cartella.

risultati

Dopo che lo script del cluster di aggiornamento è stato eseguito correttamente, le versioni dei componenti Kubernetes del cluster vengono aggiornate. È possibile visualizzare le versioni aggiornate del componente Kubernetes nell'interfaccia utente di Kubernetes Container Clusters.