In questa sezione viene illustrato come aggiornare i componenti di Kubernetes in un cluster di VMware Cloud Director Container Service Extension 4.0.x esistente.

È necessario aggiornare i componenti Kubernetes nei cluster di VMware Cloud Director Container Service Extension 4.0.x esistenti. Per impostazione predefinita, i cluster di VMware Cloud Director Container Service Extension 4.0.x funzionano sulle seguenti versioni precedenti dei componenti Kubernetes:
Componente Kubernetes Versione esistente Versione dell'aggiornamento
Kubernetes Cloud Provider for VMware Cloud Director 1.3.0 o versioni precedenti 1.4.0
Kubernetes Container Storage Interface driver for VMware Cloud Director 1.3.2 o versioni precedenti 1.4.0
Kubernetes Cluster API Provider for VMware Cloud Director 1.0.2 o versioni precedenti 1.1.0
Proiettore RDE 0.5.0 0.6.0

Prerequisiti

Prima di eseguire questa attività, assicurarsi che siano soddisfatti i seguenti prerequisiti:
  • La macchina deve utilizzare il sistema operativo Ubuntu/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:
    cd $HOME/cluster-upgrade-script
    docker pull projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.0
  4. Dopo aver effettuato il pull dell'immagine, utilizzare docker per estrarre il contenuto dell'immagine nella cartella creando un container ed estraendolo:
    docker container create --name "temp_container" projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.0
    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.