Bei Clustern, die mit älteren Versionen von VMware Cloud Director Container Service Extension erstellt wurden, ist ein einmaliges Skript-Upgrade erforderlich. Auf diese Weise können die Cluster mit dem Plug-In VMware Cloud Director Container Service Extension kompatibel sein, das Sie verwenden möchten.

Standardmäßig werden in älteren Versionen von VMware Cloud Director Container Service Extension erstellte Cluster auf den folgenden älteren Versionen der Kubernetes-Komponenten ausgeführt. Es ist erforderlich, ein Upgrade auf die nachfolgend aufgeführten neueren Versionen durchzuführen.
Kubernetes-Komponenten Vorhandene Version Upgrade-Version für 4.2 Upgrade-Version für 4.2.1 Upgrade-Version für 4.2.2
Kubernetes Cloud Provider for VMware Cloud Director 1.5.0, 1.4.1 oder ältere Versionen 1.5.0 1.6.0 1.6.0
Kubernetes Container Storage Interface driver for VMware Cloud Director 1.5.0, 1.4.1 oder ältere Versionen 1.5.0 1.6.0 1.6.0
Kubernetes Cluster API Provider for VMware Cloud Director 1.2.0, 1.1.1 oder ältere Versionen 1.2.0 1.3.0 1.3.0
RDE-Projektor 0.7.0, 0.6.1 oder ältere Versionen 0.7.0 0.7.0 0.7.1

Voraussetzungen

Stellen Sie vor der Durchführung dieser Aufgabe sicher, dass die folgenden Voraussetzungen erfüllt sind:
  • Auf dem Computer muss das Betriebssystem Ubuntu GNU/Linux 20.04 verwendet werden.
  • Stellen Sie sicher, dass kubectl installiert ist. Weitere Informationen finden Sie unter Installieren und Einrichten von kubectl unter Linux.
  • Vergewissern Sie sich, dass Docker installiert ist und ausgeführt wird. Weitere Informationen finden Sie unter Installieren der Docker-Engine.
  • Stellen Sie sicher, dass die kubeconfig-Datei des Clusters auf dem Computer in einem Pfad vorhanden ist, auf den zugegriffen werden kann.

Prozedur

  1. Legen Sie mit dem folgenden Befehl das $HOME-Verzeichnis fest:
    export $HOME=<directory of choice>
    Hinweis: Um zu überprüfen, ob das Verzeichnis $HOME korrekt festgelegt ist, können Sie das Verzeichnis $HOME mit dem folgenden Befehl anzeigen. Es darf nicht leer sein.
    echo $HOME
  2. Verwenden Sie den folgenden Befehl, um eine Ordnerstruktur zum Mounten und Speichern des Inhalts des Cluster-Upgrade-Skripts zu erstellen:
    mkdir -p $HOME/cluster-upgrade-script
  3. Navigieren Sie zum erstellten Ordner und verwenden Sie den folgenden Befehl, um das Cluster-Upgrade-Skript-Image von http://projects.registry.vmware.com abzurufen.
    • Für 4.2:

      cd $HOME/cluster-upgrade-script
      docker pull projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.2
    • Für 4.2.1:
      cd $HOME/cluster-upgrade-script
      docker pull projects.registry.vmware.com/vmware-cloud-director/cluster-upgrade-script-airgapped:v0.1.3
    • Für 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. Nachdem Sie das Image abgerufen haben, verwenden Sie Docker zum Extrahieren des Image-Inhalts in den Ordner. Erstellen Sie dazu einen Container und extrahieren Sie den Inhalt.
    • Für 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
    • Für 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
    • Für 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. Nachdem die Inhalte in den Ordner extrahiert wurden, kann der temporäre Container sicher entfernt werden:
    docker container rm "temp_container" 
  6. Nachdem der gesamte Inhalt in den Hauptordner extrahiert wurde, öffnen Sie das Verzeichnis und aktualisieren Sie die Berechtigungen für das Skript:
    cd $HOME/cluster-upgrade-script
    chmod +x upgrade_cluster_components.sh
  7. Führen Sie den folgenden Befehl im Hauptordner aus:
    ./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 ist ein optionaler Parameter, der die Registrierung definiert, aus der das Skript Images abrufen soll, und erwartet, dass Images wie CSI/CPI CRS, CAPVCD-Manifeste, clusterctl usw. dort gehostet werden.

    Wenn Sie keine private/lokale/AirGap-Registrierung verwenden, verwenden Sie projects.registry.vmware.com als image_registry. Wenn der Parameter leer ist, wird alternativ die Standardeinstellung image_registry: projects.registry.vmware.com. verwendet.

    Verwenden Sie für die private/lokale Registrierung Ihren Registrierungslink für den Parameter. Beispiel: my-private.registry.com. Stellen Sie sicher, dass die virtuelle Maschine, auf der Sie die Skripts ausführen, der Registrierung vertraut. Andernfalls kann es zu Fehlern kommen wie beispielsweise x509 certificate signed by unknown authority.

    Hinweis:
    • Während der Skriptausführung werden alle Image-Artefakte in $HOME/cluster-upgrade-packages/ heruntergeladen.
    • Wenn beim Upgrade des Skripts Fehler auftreten, können Sie diesen Ordner sicher entfernen und das Skript erneut ausführen, um diesen Ordner zu erstellen.
    • Ein zusätzlicher Ordner wird für clusterctl unter $HOME/.cluster-api erstellt. Dieser Ordner kann sicher gelöscht werden, da der Ordner bei einem erneuten Versuch, das Skript auszuführen, erstellt wird.

Ergebnisse

Nachdem das Upgrade-Clusterskript erfolgreich ausgeführt wurde, werden die Kuberetes-Komponentenversionen des Clusters aktualisiert. Sie können die aktualisierten Versionen der Kubernetes-Komponente auf der Benutzeroberfläche von Kubernetes Container Clusters anzeigen.