Aggiornare un cluster di Tanzu Kubernetes aggiornando la versione di Kubernetes.

È possibile aggiornare un cluster di Tanzu Kubernetes aggiornando la versione di Kubernetes. A tale scopo, modificare la versione di distribuzione per il cluster nelle proprietà .spec.distribution.version e .spec.distribution.fullVersion del manifesto del cluster.

Prerequisiti

Per suggerimenti sulla compatibilità delle versioni e sull'aggiornamento, fare riferimento all'elenco delle versioni di Tanzu Kubernetes supportate.

Questa attività utilizza il comando kubectl edit tanzukubernetescluster/CLUSTER-NAME per aggiornare il manifesto del cluster. Il comando kubectl edit apre il manifesto del cluster nell'editor di testo definito dalla variabile di ambiente KUBE_EDITOR o EDITOR. Quando si salva il file, il cluster viene aggiornato con le modifiche. Vedere Specificare un editor di testo predefinito per Kubectl.

Procedura

  1. Eseguire l'autenticazione con il Cluster supervisore. Vedere Connessione al Cluster supervisore come utente vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Passare al contesto dello Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster Tanzu Kubernetes di destinazione.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Recuperare la versione e il cluster di Tanzu Kubernetes di destinazione.
    kubectl get tanzukubernetescluster
    Ad esempio:
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.17.8+vmware.1-tkg.1.5417466   19h   running
  4. Elencare le versioni di Tanzu Kubernetes disponibili eseguendo uno dei seguenti comandi.
    kubectl get tanzukubernetesreleases
    kubectl get virtualmachineimages
    In questo scenario di esempio viene aggiornato un cluster di Tanzu Kubernetes da v1.17.8 a v1.18.5.
  5. Eseguire il comando seguente per modificare il manifesto del cluster.
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  6. Modificare il manifesto modificando la stringa version e annullando l'impostazione o impostando su null fullVersion per evitare la potenziale non corrispondenza della versione durante l'individuazione.
    Ad esempio, modificare il manifesto dalle stringhe seguenti:
    spec:
      distribution:
        fullVersion: v1.17.8+vmware.1-tkg.1.5417466
        version: v1.17.8
    Alle stringhe seguenti:
    spec:
      distribution:
        fullVersion: null
        version: v1.18.5
  7. Salvare le modifiche apportate al file manifesto.
    Quando si salva il file, kubectl applica le modifiche al cluster. In background, il servizio della macchina virtuale nel cluster supervisore esegue il provisioning del nuovo nodo di lavoro.
  8. Verificare che kubectl riporti che le modifiche al manifesto sono state registrate correttamente.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    Nota: Se si riceve un errore o kubectl non riporta che il manifesto del cluster è stato modificato correttamente, assicurarsi di aver configurato correttamente l'editor di testo predefinito utilizzando la variabile di ambiente KUBE_EDITOR. Vedere Specificare un editor di testo predefinito per Kubectl.
  9. Verificare che sia in corso l'aggiornamento del cluster.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   21h   updating
  10. Verificare che il cluster sia aggiornato.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   22h   running