En esta sección se detalla cómo actualizar los componentes de Kubernetes en un clúster de VMware Cloud Director Container Service Extension 4.0.x existente.

Es necesario actualizar los componentes de Kubernetes en los clústeres de VMware Cloud Director Container Service Extension 4.0.x existentes. De forma predeterminada, los clústeres de VMware Cloud Director Container Service Extension 4.0.x funcionan en las siguientes versiones anteriores de los componentes de Kubernetes:
Componente de Kubernetes Versión existente Versión de actualización
Kubernetes Cloud Provider for VMware Cloud Director 1.3.0 o versiones anteriores 1.4.0
Kubernetes Container Storage Interface driver for VMware Cloud Director 1.3.2 o versiones anteriores 1.4.0
Kubernetes Cluster API Provider for VMware Cloud Director 1.0.2 o versiones anteriores 1.1.0
Proyector de RDE 0.5.0 0.6.0

Requisitos previos

Antes de realizar esta tarea y asegúrese de que se cumplen los siguientes requisitos previos:
  • La máquina debe utilizar el sistema operativo Ubuntu GNU/Linux 20.04.
  • Asegúrese de que kubectl esté instalado. Para obtener más información, consulte Instalar y configurar kubectl en Linux.
  • Asegúrese de instalar y utilizar Docker. Para obtener más información, consulte Instalar Docker Engine.
  • Asegúrese de que el kubeconfig del clúster esté presente en la máquina en una ruta de acceso accesible.

Procedimiento

  1. Utilice el siguiente comando para establecer el directorio $HOME:
    export $HOME=<directory of choice>
    Nota: Para confirmar que el directorio $HOME se ha estableció correctamente, utilice el siguiente comando para imprimir el directorio de $HOME. No debe estar vacío.
    echo $HOME
  2. Utilice el siguiente comando para crear una estructura de carpetas para montar y almacenar el contenido del script de actualización del clúster:
    mkdir -p $HOME/cluster-upgrade-script
  3. Desplácese hasta la carpeta creada y use el siguiente comando para extraer la imagen 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. Después de obtener la imagen, utilice Docker para extraer el contenido de la imagen en la carpeta (cree un contenedor y extráigala):
    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. Después de extraer el contenido en la carpeta, es seguro eliminar el contenedor temporal:
    docker container rm "temp_container" 
  6. Después de extraer todo el contenido en la carpeta principal abra el directorio y actualice los permisos del script:
    cd $HOME/cluster-upgrade-script
    chmod +x upgrade_cluster_components.sh
  7. Ejecute el siguiente comando en la carpeta 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 es un parámetro opcional, que define el registro del cual el script debe extraer imágenes y espera tener imágenes como CSI/CPI CRS y manifiestos CAPVCD, clusterctl, etc. que se alojarán ahí.

    Si no utiliza un registro privado/local/airgap, utilice projects.registry.vmware.com como image_registry. Como alternativa, si el parámetro está vacío, el valor predeterminado es image_registry: projects.registry.vmware.com.

    Para el registro privado/local, utilice el vínculo del registro para el parámetro. Por ejemplo, my-private.registry.com. Asegúrese de que la máquina virtual que ejecuta los scripts confía en el registro, pues en caso contrario podría ejecutarse con errores como x509 certificate signed by unknown authority.

    Nota:
    • Durante la ejecución del script, todos los artefactos de imagen se descargan en $HOME/cluster-upgrade-packages/.
    • Si se produce algún error durante la actualización del script, es seguro eliminar esta carpeta y volver a ejecutar el script para crearla.
    • Se crea una carpeta adicional para clusterctl en $HOME/.cluster-api. Es seguro eliminar esta carpeta, pues al volver a intentar ejecutar el script, este crea la carpeta.

Resultados

Después de que el script de actualización del clúster se haya ejecutado correctamente, se actualizarán las versiones del componente de Kubernetes del clúster. Puede ver las versiones actualizadas del componente de Kubernetes en la interfaz de usuario de Kubernetes Container Clusters.