Mettre à niveau votre cluster AI Platform Pipelines

AI Platform Pipelines vous évite d'avoir à configurer Kubeflow Pipelines avec TensorFlow Extended sur Google Kubernetes Engine. Pour mettre à niveau votre cluster AI Platform Pipelines, vous devez supprimer votre cluster AI Platform Pipelines existant, puis le réinstaller à l'aide des mêmes paramètres de stockage. Ce guide vous explique :

  • Comment déterminer la méthode de stockage utilisée par votre cluster.
  • Comment collecter les informations dont vous avez besoin pour mettre à jour votre cluster.
  • Les étapes requises pour mettre à niveau votre cluster AI Platform Pipelines vers une version plus récente de Kubeflow Pipelines.

Préparer la mise à niveau de votre cluster

Le processus de mise à niveau de votre cluster AI Platform Pipelines dépend de la méthode utilisée par votre cluster pour stocker les métadonnées et les artefacts de pipelines. Suivez les instructions ci-dessous pour déterminer où votre cluster AI Platform Pipelines stocke les métadonnées et les artefacts de pipelines.

  1. Ouvrez AI Platform Pipelines dans Google Cloud Console.

    Accéder à AI Platform Pipelines

  2. Sur la ligne correspondant à votre cluster AI Platform Pipelines, notez les valeurs des colonnes Nom, Cluster, Zone et Espace de noms. Ces informations seront utilisées dans les étapes suivantes.

  3. Ouvrez une session Cloud Shell.

    Ouvrir Cloud Shell

    Cloud Shell s'ouvre dans un cadre au bas de Google Cloud Console.

  4. Exécutez les commandes suivantes pour configurer kubectl avec accès à votre cluster GKE et définir le contexte sur l'espace de noms dans lequel Kubeflow Pipelines a été installé.

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

    Remplacez l'élément suivant :

    • CLUSTER_NAME : nom de votre cluster GKE, que vous avez noté précédemment.
    • ZONE : zone dans laquelle votre cluster GKE réside, que vous avez notée à une étape précédente.
    • NAMESPACE : espace de noms dans lequel Kubeflow Pipelines a été installé, que vous avez noté à une étape précédente.
  5. AI Platform Pipelines stocke les métadonnées et les artefacts de pipelines de votre cluster à l'aide de services de stockage gérés ou de disques persistants sur le cluster. Lorsque vous mettez à niveau votre cluster, vous devez réinstaller AI Platform Pipelines à l'aide des mêmes paramètres de stockage que votre cluster AI Platform Pipelines actuel utilise.

    Exécutez la commande suivante dans Cloud Shell pour vérifier si votre cluster a été déployé avec un stockage sur cluster.

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

    Cette commande répertorie les demandes de volume persistant (PVC) de votre cluster Google Kubernetes Engine.

Mettre à niveau un cluster AI Platform Pipelines qui utilise un stockage géré

Suivez les instructions ci-dessous pour sauvegarder les métadonnées et les artefacts de votre cluster AI Platform Pipelines et mettre à niveau le cluster vers une version plus récente de Kubeflow Pipelines.

  1. Lorsque vous mettez à niveau un cluster Kubeflow Pipelines, vous devez réutiliser la même configuration de stockage. Si votre cluster a été déployé avec un stockage géré, suivez les instructions ci-dessous pour rechercher les détails de configuration nécessaires à la mise à jour de votre cluster.

    1. Exécutez la commande suivante dans Cloud Shell pour obtenir le nom du bucket dans lequel votre cluster stocke les artefacts de pipeline :

      kubectl get configmap workflow-controller-configmap -o json | \
      jq -r '.data.config | capture("bucket: '"'(?<name>.*?)'"'").name'
      
    2. Exécutez la commande suivante dans Cloud Shell pour obtenir le nom de connexion de l'instance Cloud SQL dans laquelle votre cluster stocke les métadonnées de pipeline.

      kubectl get deployments cloudsqlproxy -o json | \
      jq -r '.spec.template.spec.containers[].command[] | capture("instances=(?<name>.*)=").name'
      
    3. Kubeflow Pipelines dépend de deux bases de données MySQL. Exécutez la commande suivante dans Cloud Shell pour obtenir le préfixe des bases de données de votre cluster.

      kubectl get configmap metadata-mysql-configmap -o json | \
      jq -r '.data.MYSQL_DATABASE | capture("(?<prefix>.*?)_metadata").prefix'
      
    4. Vous devez également spécifier le nom d'utilisateur et le mot de passe d'un compte MySQL avec le privilège ALL que Kubeflow Pipelines peut utiliser pour se connecter à votre instance Cloud SQL. Si vous ne savez pas quel compte utilisateur MySQL votre cluster utilise, créez un utilisateur MySQL avec Cloud SQL.

      Apprenez-en plus sur les utilisateurs MySQL.

  2. Utilisez Cloud SQL pour créer une sauvegarde des bases de données MySQL de votre cluster AI Platform Pipelines.

  3. Ouvrez AI Platform Pipelines dans Google Cloud Console.

    Accéder à AI Platform Pipelines

  4. Suivez les instructions ci-dessous pour supprimer votre cluster AI Platform Pipelines. Pour mettre à niveau votre cluster AI Platform Pipelines, vous devez réinstaller Kubeflow Pipelines avec les mêmes paramètres de stockage géré.

    1. Cochez la case correspondant à votre cluster AI Platform Pipelines.

    2. Dans la barre d'outils AI Platform Pipelines, cliquez sur Supprimer. La boîte de dialogue Supprimer Kubeflow Pipelines du cluster s'affiche.

    3. Cliquez sur Supprimer. La suppression de votre cluster AI Platform Pipelines peut prendre plusieurs minutes.

  5. Suivez les instructions ci-dessous pour réinstaller Kubeflow Pipelines.

    1. Dans la barre d'outils AI Platform Pipelines, cliquez sur Nouvelle instance. Kubeflow Pipelines s'ouvre dans Google Cloud Marketplace.

    2. Configurer Un formulaire vous permet de configurer le déploiement de Kubeflow Pipelines.

    3. Sélectionnez le cluster dans lequel déployer Kubeflow Pipelines. Ce cluster ne doit pas nécessairement être le même cluster GKE que celui sur lequel votre instance AI Platform Pipelines précédente a été déployée.

      Découvrez comment vérifier que votre cluster GKE est correctement configuré pour AI Platform Pipelines.

    4. Dans la zone Nom de l'instance d'application, saisissez le nom d'instance de l'application que votre instance Kubeflow Pipelines précédente a utilisée.

    5. Les espaces de noms permettent de gérer les ressources des clusters GKE volumineux. Si vous ne prévoyez pas d'utiliser les espaces de noms de votre cluster, sélectionnez Par défaut dans la liste déroulante Espace de noms.

      Si vous envisagez d'utiliser des espaces de noms dans votre cluster GKE, créez-en un à l'aide de la liste déroulante Espace de noms. Pour créer un espace de noms, procédez comme suit :

      1. Cliquez sur Créer un espace de noms dans la liste déroulante Espace de noms. Le champ Nom du nouvel espace de noms s'affiche.

      2. Saisissez le nom de l'espace de noms dans le champ Nom du nouvel espace de noms.

      Pour en savoir plus sur les espaces de noms, consultez un article de blog (en anglais) sur l'organisation de Kubernetes avec des espaces de noms.

    6. Le stockage géré vous permet de stocker les métadonnées et les artefacts de votre pipeline de ML à l'aide de Cloud SQL et de Cloud Storage. Sélectionnez Utiliser le stockage géré et fournissez les informations suivantes :

      • Bucket Cloud Storage de stockage d'artefacts : spécifiez le nom du bucket que vous avez trouvé lors d'une étape précédente.

      • Nom de connexion de l'instance Cloud SQL : spécifiez le nom de connexion de l'instance que vous avez trouvé à une étape précédente.

      • Nom d'utilisateur de la base de données : indiquez le nom d'utilisateur de la base de données que Kubeflow Pipelines doit utiliser lors de la connexion à l'instance MySQL. Actuellement, votre utilisateur de base de données doit disposer des privilèges MySQL ALL pour déployer Kubeflow Pipelines avec un stockage géré. Si vous laissez ce champ vide, cette valeur est définie par défaut sur root.

        Apprenez-en plus sur les utilisateurs MySQL.

      • Mot de passe de la base de données : indiquez le mot de passe de la base de données que Kubeflow Pipelines doit utiliser lors de la connexion à l'instance MySQL. Si vous laissez ce champ vide, Kubeflow Pipelines se connecte à votre base de données sans fournir de mot de passe, ce qui échoue si un mot de passe est requis pour le nom d'utilisateur spécifié.

      • Préfixe du nom de base de données : indiquez le préfixe du nom de base de données que vous avez trouvé lors d'une étape précédente.

    7. Cliquez sur Déployer. Cette opération peut prendre plusieurs minutes.

    8. Pour accéder au tableau de bord des pipelines, ouvrez AI Platform Pipelines dans Cloud Console.

      Accéder à AI Platform Pipelines

      Cliquez ensuite sur Ouvrir le tableau de bord des pipelines pour votre instance AI Platform Pipelines.

Mettre à niveau un cluster AI Platform Pipelines, qui utilise un stockage sur cluster

Suivez les instructions ci-dessous pour sauvegarder les métadonnées et les artefacts de votre cluster AI Platform Pipelines et mettre à niveau le cluster vers une version plus récente de Kubeflow Pipelines.

  1. Sauvegardez le stockage des métadonnées et des artefacts de votre cluster AI Platform Pipelines. Avec le stockage sur cluster, les artefacts et les métadonnées de votre pipeline sont stockés sur des disques persistants Compute Engine, qui sont associés à votre cluster GKE en tant que demandes de volume persistant.

    1. Pour effectuer cette tâche, vous devez disposer des autorisations suivantes.

      • compute.disks.create sur le projet
      • compute.disks.useReadOnly sur le disque source

      Par exemple, le rôle roles/compute.storageAdmin fournit ces autorisations. Découvrez comment accorder des autorisations et des rôles Identity and Access Management.

    2. Exécutez la commande suivante dans Cloud Shell pour répertorier les PVC de votre cluster et, le cas échéant, le nom du disque persistant Compute Engine des PVC.

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

      Si votre cluster utilise le stockage sur cluster, cette liste doit contenir des noms de disques persistants pour les PVC mysql-pv-claim et minio-pvc.

    3. Pour sauvegarder les métadonnées et les artefacts de votre pipeline, exécutez la commande suivante dans Cloud Shell pour les disques persistants mysql-pv-claim et minio-pvc.

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

      Remplacez l'élément suivant :

      • target-disk-name : spécifiez un nom pour votre disque de sauvegarde.
      • ZONE : spécifiez la zone dans laquelle réside votre cluster.
      • source-disk-name : spécifiez le nom du disque persistant que vous souhaitez sauvegarder.

      Découvrez en plus sur le clonage des disques persistants.

  2. Ouvrez AI Platform Pipelines dans Google Cloud Console.

    Accéder à AI Platform Pipelines

  3. Suivez les instructions ci-dessous pour supprimer votre cluster AI Platform Pipelines, sans supprimer votre cluster GKE. Pour mettre à niveau votre cluster AI Platform Pipelines, vous devez réinstaller Kubeflow Pipelines sur le même cluster GKE.

    1. Cochez la case correspondant à votre cluster AI Platform Pipelines.

    2. Dans la barre d'outils AI Platform Pipelines, cliquez sur Supprimer. La boîte de dialogue Supprimer Kubeflow Pipelines du cluster s'affiche.

    3. Cliquez sur Supprimer. La suppression de votre cluster AI Platform Pipelines peut prendre plusieurs minutes.

  4. Suivez les instructions ci-dessous pour réinstaller Kubeflow Pipelines sur un cluster GKE existant.

    1. Dans la barre d'outils AI Platform Pipelines, cliquez sur Nouvelle instance. Kubeflow Pipelines s'ouvre dans Google Cloud Marketplace.

    2. Configurer Un formulaire vous permet de configurer le déploiement de Kubeflow Pipelines.

    3. Dans la liste déroulante Cluster, sélectionnez le cluster dans lequel votre instance précédente de Kubeflow Pipelines a été déployée.

    4. Sélectionnez l'espace de noms dans lequel votre instance précédente de Kubeflow Pipelines a été déployée.

    5. Dans la zone Nom de l'instance d'application, saisissez le nom d'instance de l'application que votre instance Kubeflow Pipelines précédente a utilisée.

    6. Cliquez sur Déployer. Cette opération peut prendre plusieurs minutes.

    7. Pour accéder au tableau de bord des pipelines, ouvrez AI Platform Pipelines dans Cloud Console.

      Accéder à AI Platform Pipelines

      Cliquez ensuite sur Ouvrir le tableau de bord des pipelines pour votre instance AI Platform Pipelines.

Étape suivante