Actualizar el clúster de AI Platform Pipelines

AI Platform Pipelines facilita el trabajo de configurar Kubeflow Pipelines con TensorFlow Extended en Google Kubernetes Engine. Para actualizar tu clúster de AI Platform Pipelines, debes quitar tu clúster existente de AI Platform Pipelines y, luego, volver a instalarlo con la misma configuración de almacenamiento. Esta guía describe lo siguiente:

  • Cómo determinar el método de almacenamiento que usa tu clúster
  • Cómo recopilar la información que necesitas para actualizar el clúster.
  • Los pasos necesarios para actualizar tu clúster de AI Platform Pipelines a una versión más reciente de Kubeflow Pipelines

Prepara el clúster para actualizarlo

El proceso para actualizar tu clúster de AI Platform Pipelines depende del método que usa tu clúster para almacenar artefactos y metadatos de canalización. Usa las siguientes instrucciones para determinar en qué lugar tu clúster de AI Platform Pipelines almacena artefactos y metadatos de la canalización.

  1. Abre AI Platform Pipelines en la consola de Google Cloud.

    Ir a AI Platform Pipelines

  2. En la fila de tu clúster de AI Platform Pipelines, observa los valores de las columnas de Nombre, Clúster, Zona y Espacio de nombres. Esta información se usa en los siguientes pasos.

  3. Abre una sesión de Cloud Shell.

    Abra Cloud Shell

    Cloud Shell se abrirá en un marco en la parte inferior de la consola de Google Cloud.

  4. Ejecuta los siguientes comandos para configurar kubectl con acceso a tu clúster de GKE y configurar el contexto en el espacio de nombres en el que se instaló Kubeflow Pipelines.

    gcloud container clusters get-credentials CLUSTER_NAME --zone=ZONE
    kubectl config set-context --current --namespace=NAMESPACE
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre de tu clúster de GKE, que anotaste en un paso anterior.
    • ZONE: Es la zona en la que reside tu clúster de GKE, que anotaste en un paso anterior.
    • NAMESPACE: el espacio de nombres en el que se instaló Kubeflow Pipelines, que anotaste en un paso anterior.
  5. AI Platform Pipelines almacenan los artefactos de canalización y los metadatos de tu clúster con los servicios de almacenamiento administrado o los discos persistentes en el clúster. Cuando actualizas tu clúster, debes volver a instalar AI Platform Pipelines con la misma configuración de almacenamiento que usa tu clúster actual de AI Platform Pipelines.

    Ejecuta el siguiente comando en Cloud Shell para verificar si tu clúster se implementó con almacenamiento en el clúster.

    kubectl get pvc -o json | jq -r '.items[].metadata.name'
    

    Este comando enumera las reclamaciones de volumen persistente (PVC) del clúster de Google Kubernetes Engine.

Actualiza un clúster de AI Platform Pipelines que usa el almacenamiento administrado

Usa las siguientes instrucciones para crear una copia de seguridad de los artefactos y metadatos del clúster de AI Platform Pipelines y actualizar el clúster a una versión más reciente de Kubeflow Pipelines.

  1. Cuando actualizas un clúster de Kubeflow Pipelines, debes volver a usar la misma configuración de almacenamiento. Si tu clúster se implementó con almacenamiento administrado, usa las siguientes instrucciones para encontrar los detalles de configuración necesarios a fin de actualizar tu clúster.

    1. Ejecuta el siguiente comando en Cloud Shell para obtener el nombre del bucket en el que tu clúster almacena artefactos de canalización:

      kubectl get configmap workflow-controller-configmap -o json | \
      jq -r '.data.config | capture("bucket: '"'(?<name>.*?)'"'").name'
      
    2. Ejecuta el siguiente comando en Cloud Shell para obtener el nombre de conexión de la instancia de Cloud SQL en la que tu clúster almacena los metadatos de la canalización.

      kubectl get deployments cloudsqlproxy -o json | \
      jq -r '.spec.template.spec.containers[].command[] | capture("instances=(?<name>.*)=").name'
      
    3. Kubeflow Pipelines depende de dos bases de datos de MySQL. Ejecuta el siguiente comando en Cloud Shell para obtener el prefijo de base de datos de las bases de datos de tu clúster.

      kubectl get configmap metadata-mysql-configmap -o json | \
      jq -r '.data.MYSQL_DATABASE | capture("(?<prefix>.*?)_metadata").prefix'
      
    4. También debes especificar el nombre de usuario y la contraseña de una cuenta de MySQL con el privilegio ALL que Kubeflow Pipelines puede usar para conectarse a tu instancia de Cloud SQL. Si no sabes qué cuenta de usuario de MySQL usa tu clúster, usa Cloud SQL para crear un usuario MySQL.

      Obtén más información sobre los usuarios de MySQL.

  2. Usa Cloud SQL para crear una copia de seguridad de las bases de datos de MySQL de tu clúster de AI Platform Pipelines.

  3. Abre AI Platform Pipelines en la consola de Google Cloud.

    Ir a AI Platform Pipelines

  4. Usa las siguientes instrucciones para borrar tu clúster de AI Platform Pipelines. Para actualizar tu clúster de AI Platform Pipelines, debes volver a instalar Kubeflow Pipelines con la misma configuración de almacenamiento administrado.

    1. Selecciona la casilla de verificación de tu clúster de AI Platform Pipelines.

    2. En la barra de herramientas de AI Platform Pipelines, haz clic en Borrar. Aparecerá el cuadro de diálogo Borrar Kubeflow Pipelines del clúster.

    3. Haz clic en Borrar. Borrar tu clúster de AI Platform Pipelines puede tomar varios minutos.

  5. Usa las siguientes instrucciones para volver a instalar Kubeflow Pipelines.

    1. En la barra de herramientas de AI Platform Pipelines, haz clic en Instancia nueva. Se abrirá Kubeflow Pipelines en Google Cloud Marketplace.

    2. Haz clic en Configurar. Se abrirá un formulario para configurar la implementación de Kubeflow Pipelines.

    3. Selecciona el Clúster para implementar Kubeflow Pipelines. No es necesario que el clúster sea el mismo clúster de GKE en el que se implementó tu instancia de AI Platform Pipelines anterior.

      Descubre cómo asegurarte de que el clúster de GKE esté configurado correctamente para AI Platform Pipelines.

    4. En el cuadro Nombre de la instancia de la app, ingresa el nombre de la instancia de la aplicación que usó tu instancia anterior de Kubeflow Pipelines.

    5. Los espacios de nombres se usan para administrar recursos en clústeres grandes de GKE. Si no planeas usar espacios de nombres en tu clúster, selecciona predeterminado en la lista desplegable Espacio de nombres.

      Si planeas usar espacios de nombres en el clúster de GKE, crea un espacio de nombres mediante la lista desplegable Espacio de nombres. Para crear un espacio de nombres, haz lo siguiente:

      1. Selecciona Crea un espacio de nombres en la lista desplegable Espacio de nombres. Aparecerá el cuadro Nombre de espacio de nombres nuevo.

      2. Ingresa el nombre del espacio de nombres en Nombre del espacio de nombres nuevo.

      Para obtener más información sobre los espacios de nombres, lee una entrada de blog sobre cómo organizar Kubernetes con espacios de nombres.

    6. El almacenamiento administrado te permite almacenar los metadatos y artefactos de tu canalización del AA mediante Cloud SQL y Cloud Storage. Selecciona Usar almacenamiento administrado y proporciona la siguiente información:

      • Bucket de Cloud Storage de almacenamiento de artefactos: Especifica el nombre del bucket que encontraste en un paso anterior.

      • Nombre de la conexión de la instancia de Cloud SQL: Especifica el nombre de conexión de la instancia que encontraste en un paso anterior.

      • Nombre de usuario de la base de datos: Especifica el nombre de usuario de la base de datos para que Kubeflow Pipelines se use cuando te conectes a tu instancia de MySQL. Por el momento, el usuario de tu base de datos debe tener privilegios de MySQL ALL para implementar Kubeflow Pipelines con almacenamiento administrado. Si dejas este campo vacío, el valor predeterminado será raíz.

        Obtén más información sobre los usuarios de MySQL.

      • Contraseña de la base de datos: especifica la contraseña de la base de datos para que Kubeflow Pipelines se use cuando te conectes a tu instancia de MySQL. Si dejas este campo vacío, Kubeflow Pipelines se conecta a tu base de datos sin proporcionar una contraseña, lo que falla si se requiere una contraseña para el nombre de usuario que especificaste.

      • Prefijo del nombre de la base de datos: Especifica el prefijo del nombre de la base de datos que encontraste en un paso anterior.

    7. Haz clic en Implementar. Este paso puede tardar varios minutos.

    8. Para acceder al panel de canalizaciones, abre AI Platform Pipelines en la consola de Google Cloud.

      Ir a AI Platform Pipelines

      A continuación, haz clic en Abrir panel de canalizaciones para la instancia de AI Platform Pipelines.

Actualiza un clúster de AI Platform Pipelines que usa almacenamiento en el clúster

Usa las siguientes instrucciones para crear una copia de seguridad de los artefactos y metadatos del clúster de AI Platform Pipelines y actualizar el clúster a una versión más reciente de Kubeflow Pipelines.

  1. Crea copias de seguridad de los metadatos de tu clúster de AI Platform Pipelines y almacenamiento de artefactos Con el almacenamiento en el clúster, tus artefactos de canalización y metadatos se almacenan en discos persistentes de Compute Engine, que se adjuntan a tu clúster de GKE como reclamaciones de volumen persistente.

    1. Debes contar con los siguientes permisos para realizar esta tarea:

      • compute.disks.create en el proyecto
      • compute.disks.useReadOnly en el disco de origen

      Por ejemplo, la función roles/compute.storageAdmin proporciona estos permisos. Obtén más información sobre cómo otorgar permisos y roles de administración de identidades y accesos.

    2. Ejecuta el siguiente comando en Cloud Shell para enumerar los PVC de tu clúster y, si corresponde, el nombre del disco persistente de Compute Engine del PVC.

      kubectl get pv -o json | \
      jq -r '.items[] | .spec.claimRef.name + " -  disk name = " + .spec.gcePersistentDisk.pdName'
      

      Si tu clúster usa almacenamiento en clúster, esta lista debe contener nombres de discos persistentes para los PVC mysql-pv-claim y minio-pvc.

    3. Para hacer una copia de seguridad de tus artefactos de canalización y metadatos, ejecuta el siguiente comando en Cloud Shell para los discos persistentes mysql-pv-claim y minio-pvc.

      gcloud compute disks create target-disk-name --zone=ZONE --source-disk=source-disk-name
      

      Reemplaza lo siguiente:

      • target-disk-name: Especifica un nombre para el disco de copia de seguridad.
      • ZONE: Especifica la zona en la que reside tu clúster.
      • source-disk-name: Especifica el nombre del disco persistente del que deseas crear una copia de seguridad.

      Obtén más información para clonar discos persistentes.

  2. Abre AI Platform Pipelines en la consola de Google Cloud.

    Ir a AI Platform Pipelines

  3. Usa las siguientes instrucciones para borrar tu clúster de AI Platform Pipelines, sin borrar tu clúster de GKE. Para actualizar tu clúster de AI Platform Pipelines, debes volver a instalar Kubeflow Pipelines en el mismo clúster de GKE.

    1. Selecciona la casilla de verificación de tu clúster de AI Platform Pipelines.

    2. En la barra de herramientas de AI Platform Pipelines, haz clic en Borrar. Aparecerá el cuadro de diálogo Borrar Kubeflow Pipelines del clúster.

    3. Haz clic en Borrar. Borrar tu clúster de AI Platform Pipelines puede tomar varios minutos.

  4. Usa las siguientes instrucciones para volver a instalar Kubeflow Pipelines en tu clúster GKE existente.

    1. En la barra de herramientas de AI Platform Pipelines, haz clic en Instancia nueva. Se abrirá Kubeflow Pipelines en Google Cloud Marketplace.

    2. Haz clic en Configurar. Se abrirá un formulario para configurar la implementación de Kubeflow Pipelines.

    3. En la lista desplegable Clúster, selecciona el clúster en el que se implementó tu instancia anterior de Kubeflow Pipelines.

    4. Selecciona el espacio de nombres en el que se implementó tu instancia anterior de Kubeflow Pipelines.

    5. En el cuadro Nombre de la instancia de la app, ingresa el nombre de la instancia de la aplicación que usó tu instancia anterior de Kubeflow Pipelines.

    6. Haz clic en Implementar. Este paso puede tardar varios minutos.

    7. Para acceder al panel de canalizaciones, abre AI Platform Pipelines en la consola de Google Cloud.

      Ir a AI Platform Pipelines

      A continuación, haz clic en Abrir panel de canalizaciones para la instancia de AI Platform Pipelines.

¿Qué sigue?