Cette section explique comment mettre à niveau les composants Kubernetes dans un cluster VMware Cloud Director Container Service Extension 4.0.x existant.

Il est nécessaire de mettre à niveau les composants Kubernetes dans les clusters VMware Cloud Director Container Service Extension 4.0.x existants. Par défaut, les clusters VMware Cloud Director Container Service Extension 4.0.x fonctionnent sur les anciennes versions suivantes des composants Kubernetes :
Composant Kubernetes Version existante Version de mise à niveau
Kubernetes Cloud Provider for VMware Cloud Director 1.3.0 ou versions antérieures 1.4.0
Kubernetes Container Storage Interface driver for VMware Cloud Director 1.3.2 ou versions antérieures 1.4.0
Kubernetes Cluster API Provider for VMware Cloud Director 1.0.2 ou versions antérieures 1.1.0
Projecteur RDE 0.5.0 0.6.0

Conditions préalables

Avant d'effectuer cette tâche, assurez-vous que les conditions préalables suivantes sont remplies :
  • La machine doit utiliser le système d'exploitation Ubuntu GNU/Linux 20.04.
  • Assurez-vous que kubectl est installé. Pour plus d'informations, reportez-vous aux sections Installer et configurer kubectl sous Linux.
  • Assurez-vous d'installer et d'utiliser Docker. Pour plus d'informations, reportez-vous à la section Installer Docker Engine.
  • Assurez-vous que le fichier kubeconfig du cluster se trouve sur la machine à un chemin accessible.

Procédure

  1. Utilisez la commande suivante pour configurer le répertoire $HOME :
    export $HOME=<directory of choice>
    Note : Pour vérifier si le répertoire $HOME est défini correctement, utilisez la commande suivante pour imprimer le répertoire $HOME. Il ne doit pas être vide.
    echo $HOME
  2. Utilisez la commande suivante pour créer une structure de dossiers pour le montage et le stockage du contenu du script de mise à niveau du cluster :
    mkdir -p $HOME/cluster-upgrade-script
  3. Accédez au dossier créé et utilisez la commande suivante pour extraire l'image cluster-upgrade-script de 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. Après avoir extrait l'image, utilisez Docker pour extraire le contenu de l'image vers le dossier en créant un conteneur et en l'extrayant :
    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. Une fois le contenu extrait dans le dossier, vous pouvez supprimer le conteneur temporaire en toute sécurité :
    docker container rm "temp_container" 
  6. Une fois tout le contenu extrait dans le dossier principal, ouvrez le répertoire et mettez à jour les autorisations du script :
    cd $HOME/cluster-upgrade-script
    chmod +x upgrade_cluster_components.sh
  7. Exécutez la commande suivante dans le dossier principal :
    ./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 est un paramètre facultatif qui définit le registre à partir duquel le script doit extraire des images et s'attend à des images telles que CSI/CPI CRS, manifestes CAPVCD, clusterctl, etc. pour y être hébergé.

    Lorsque vous n'utilisez pas le registre private/local/airgap, utilisez projects.registry.vmware.com comme image_registry. Par contre, si le paramètre est vide, il est défini par défaut sur image_registry: projects.registry.vmware.com.

    Pour le registre privé/local, utilisez le lien de votre registre pour le paramètre. Par exemple, my-private.registry.com. Assurez-vous que la machine virtuelle sur laquelle vous exécutez les scripts approuve le registre, sinon elle risque de rencontrer des erreurs telles que x509 certificate signed by unknown authority.

    Note :
    • Lors de l'exécution du script, tous les artefacts d'image sont téléchargés sur $HOME/cluster-upgrade-packages/.
    • En cas d'erreur lors de la mise à niveau du script, vous pouvez supprimer ce dossier en toute sécurité et réexécuter le script pour créer ce dossier.
    • Un dossier supplémentaire est créé pour clusterctl dans $HOME/.cluster-api. Vous pouvez supprimer ce dossier en toute sécurité, car toute nouvelle tentative d'exécution du script crée ce dossier.

Résultats

Une fois le script de mise à niveau du cluster exécuté, les versions du composant Kuberetes du cluster sont mises à jour. Vous pouvez afficher les versions mises à jour du composant Kubernetes dans l'interface utilisateur de Kubernetes Container Clusters.