Upgrade del cluster AI Platform Pipelines

AI Platform Pipelines ti evita la difficoltà di configurare le pipeline di Kubeflow con TensorFlow Extended su Google Kubernetes Engine. Per eseguire l'upgrade del cluster AI Platform Pipelines, devi rimuovere il cluster AI Platform Pipelines esistente e poi reinstallarlo utilizzando le stesse impostazioni di archiviazione. Questa guida descrive:

  • Come determinare il metodo di archiviazione utilizzato dal cluster.
  • Come raccogliere le informazioni necessarie per eseguire l'upgrade del cluster.
  • I passaggi necessari per eseguire l'upgrade del cluster AI Platform Pipelines a una release più recente di Kubeflow Pipelines.

Preparazione dell'upgrade del cluster

Il processo di upgrade del cluster AI Platform Pipelines dipende dal metodo utilizzato dal cluster per archiviare gli artefatti e i metadati della pipeline. Utilizza le seguenti istruzioni per determinare dove il tuo cluster AI Platform Pipelines archivia gli artefatti e i metadati della pipeline.

  1. Apri AI Platform Pipelines nella console Google Cloud.

    Vai ad AI Platform Pipelines

  2. Nella riga relativa al cluster AI Platform Pipelines, prendi nota dei valori delle colonne Nome, Cluster, Zona e Spazio dei nomi. Queste informazioni vengono utilizzate nei passaggi successivi.

  3. Apri una sessione di Cloud Shell.

    Apri Cloud Shell

    Cloud Shell si apre in un frame nella parte inferiore della console Google Cloud.

  4. Esegui questi comandi per configurare kubectl con l'accesso al cluster GKE e imposta il contesto sullo spazio dei nomi in cui è stato installato Kubeflow Pipelines.

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

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del tuo cluster GKE, che hai annotato in un passaggio precedente.
    • ZONE: la zona in cui si trova il tuo cluster GKE, che hai annotato in un passaggio precedente.
    • NAMESPACE: lo spazio dei nomi in cui è stato installato Kubeflow Pipelines, che hai annotato in un passaggio precedente.
  5. AI Platform Pipelines archivia gli artefatti e i metadati della pipeline del cluster utilizzando servizi di archiviazione gestiti o dischi permanenti su cluster. Quando esegui l'upgrade del cluster, devi reinstallare AI Platform Pipelines utilizzando le stesse impostazioni di archiviazione utilizzate dal tuo attuale cluster AI Platform Pipelines.

    Esegui questo comando in Cloud Shell per verificare se il deployment del cluster è stato eseguito con archiviazione su cluster.

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

    Questo comando elenca le richieste di volumi permanenti (PVC) del tuo cluster Google Kubernetes Engine.

Upgrade di un cluster AI Platform Pipelines che utilizza l'archiviazione gestita

Utilizza le istruzioni seguenti per eseguire il backup degli artefatti e dei metadati del cluster AI Platform Pipelines ed eseguire l'upgrade del cluster a una release più recente di Kubeflow Pipelines.

  1. Quando esegui l'upgrade di un cluster Kubeflow Pipelines, devi riutilizzare la stessa configurazione di archiviazione. Se il deployment del cluster è stato eseguito con spazio di archiviazione gestito, segui le istruzioni riportate di seguito per trovare i dettagli di configurazione necessari per l'upgrade del cluster.

    1. Esegui questo comando in Cloud Shell per ottenere il nome del bucket in cui il cluster archivia gli artefatti della pipeline:

      kubectl get configmap workflow-controller-configmap -o json | \
      jq -r '.data.config | capture("bucket: '"'(?<name>.*?)'"'").name'
      
    2. Esegui questo comando in Cloud Shell per ottenere il nome di connessione istanza dell'istanza Cloud SQL in cui il cluster archivia i metadati della pipeline.

      kubectl get deployments cloudsqlproxy -o json | \
      jq -r '.spec.template.spec.containers[].command[] | capture("instances=(?<name>.*)=").name'
      
    3. Le pipeline di Kubeflow dipendono da due database MySQL. Esegui questo comando in Cloud Shell per ottenere il prefisso del database dei database del tuo cluster.

      kubectl get configmap metadata-mysql-configmap -o json | \
      jq -r '.data.MYSQL_DATABASE | capture("(?<prefix>.*?)_metadata").prefix'
      
    4. Devi inoltre specificare il nome utente e la password di un account MySQL con il privilegio ALL che le pipeline di Kubeflow possono utilizzare per connettersi alla tua istanza Cloud SQL. Se non sai quale account utente MySQL utilizza il tuo cluster, utilizza Cloud SQL per creare un utente MySQL.

      Scopri di più sugli utenti MySQL.

  2. Utilizza Cloud SQL per creare un backup dei database MySQL del tuo cluster AI Platform Pipelines.

  3. Apri AI Platform Pipelines nella console Google Cloud.

    Vai ad AI Platform Pipelines

  4. Segui le istruzioni riportate di seguito per eliminare il cluster AI Platform Pipelines. Per eseguire l'upgrade del cluster AI Platform Pipelines, devi reinstallare Kubeflow Pipelines con le stesse impostazioni di archiviazione gestita.

    1. Seleziona la casella di controllo per il cluster AI Platform Pipelines.

    2. Nella barra degli strumenti di AI Platform Pipelines, fai clic su Elimina. Viene visualizzata la finestra di dialogo Elimina pipeline Kubeflow dal cluster.

    3. Fai clic su Elimina. L'eliminazione del cluster AI Platform Pipelines potrebbe richiedere diversi minuti.

  5. Segui le istruzioni riportate di seguito per reinstallare le pipeline di Kubeflow.

    1. Nella barra degli strumenti di AI Platform Pipelines, fai clic su Nuova istanza. Kubeflow Pipelines si apre in Google Cloud Marketplace.

    2. Fai clic su Configura. Si apre un modulo per configurare il deployment di Kubeflow Pipelines.

    3. Seleziona il Cluster in cui eseguire il deployment delle pipeline di Kubeflow. Questo cluster non deve essere lo stesso cluster GKE in cui è stato eseguito il deployment dell'istanza AI Platform Pipelines precedente.

      Scopri come assicurarti che il tuo cluster GKE sia configurato correttamente per AI Platform Pipelines.

    4. Nella casella Nome istanza app, inserisci il nome dell'istanza dell'applicazione utilizzato dall'istanza precedente di Kubeflow Pipelines.

    5. Gli spazi dei nomi vengono utilizzati per gestire le risorse nei cluster GKE di grandi dimensioni. Se non prevedi di utilizzare gli spazi dei nomi nel cluster, seleziona default nell'elenco a discesa Spazio dei nomi.

      Se prevedi di utilizzare gli spazi dei nomi nel cluster GKE, creane uno utilizzando l'elenco a discesa Spazio dei nomi. Per creare uno spazio dei nomi:

      1. Seleziona Crea uno spazio dei nomi nell'elenco a discesa Spazio dei nomi. Viene visualizzata la casella Nuovo nome spazio dei nomi.

      2. Inserisci il nome dello spazio dei nomi in Nuovo nome dello spazio dei nomi.

      Per saperne di più sugli spazi dei nomi, leggi un post del blog sull'organizzazione di Kubernetes con gli spazi dei nomi.

    6. L'archiviazione gestita consente di archiviare metadati e artefatti della pipeline ML utilizzando Cloud SQL e Cloud Storage. Seleziona Utilizza archiviazione gestita e fornisci le seguenti informazioni:

      • Bucket Cloud Storage di Artifact Storage: specifica il nome del bucket che hai trovato in un passaggio precedente.

      • Nome connessione istanza Cloud SQL: specifica il nome della connessione dell'istanza che hai trovato in un passaggio precedente.

      • Nome utente del database: specifica il nome utente del database per le pipeline Kubeflow da utilizzare per la connessione all'istanza MySQL. Attualmente, l'utente del database deve disporre di privilegi MySQL di ALL per eseguire il deployment delle pipeline di Kubeflow con spazio di archiviazione gestito. Se lasci questo campo vuoto, il valore predefinito è root.

        Scopri di più sugli utenti MySQL.

      • Password del database: specifica la password del database per le pipeline di Kubeflow da utilizzare per la connessione all'istanza MySQL. Se lasci vuoto questo campo, Kubeflow Pipelines si connette al tuo database senza fornire una password, operazione che non va a buon fine se è richiesta una password per il nome utente specificato.

      • Prefisso nome database: specifica il prefisso del nome del database trovato in un passaggio precedente.

    7. Fai clic su Esegui il deployment. Questo passaggio potrebbe richiedere diversi minuti.

    8. Per accedere alla dashboard delle pipeline, apri AI Platform Pipelines nella console Google Cloud.

      Vai ad AI Platform Pipelines

      Quindi, fai clic su Apri dashboard di pipeline per la tua istanza di AI Platform Pipelines.

Upgrade di un cluster AI Platform Pipelines che utilizza l'archiviazione su cluster

Utilizza le istruzioni seguenti per eseguire il backup degli artefatti e dei metadati del cluster AI Platform Pipelines ed eseguire l'upgrade del cluster a una release più recente di Kubeflow Pipelines.

  1. Esegui il backup dell'archiviazione dei metadati e degli artefatti del cluster AI Platform Pipelines. Con l'archiviazione su cluster, gli artefatti e i metadati della pipeline vengono archiviati in dischi permanenti di Compute Engine, collegati al tuo cluster GKE come richieste di volumi permanenti.

    1. Per eseguire questa attività, devi disporre delle seguenti autorizzazioni:

      • compute.disks.create nel progetto
      • compute.disks.useReadOnly sul disco di origine

      Ad esempio, il ruolo roles/compute.storageAdmin fornisce queste autorizzazioni. Scopri di più sulla concessione delle autorizzazioni e dei ruoli di Identity and Access Management.

    2. Esegui questo comando in Cloud Shell per elencare le PVC del cluster e, ove appropriato, il nome del disco permanente di Compute Engine del PVC.

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

      Se il cluster utilizza l'archiviazione su cluster, questo elenco deve contenere i nomi dei disco permanente per i PVC mysql-pv-claim e minio-pvc.

    3. Per eseguire il backup degli artefatti e dei metadati della pipeline, esegui il comando seguente in Cloud Shell per i dischi permanenti mysql-pv-claim e minio-pvc.

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

      Sostituisci quanto segue:

      • target-disk-name: specifica un nome per il disco di backup.
      • ZONE: specifica la zona in cui si trova il cluster.
      • source-disk-name: specifica il nome del disco permanente di cui vuoi eseguire il backup.

      Scopri di più sulla clonazione dei dischi permanenti.

  2. Apri AI Platform Pipelines nella console Google Cloud.

    Vai ad AI Platform Pipelines

  3. Utilizza le istruzioni seguenti per eliminare il cluster AI Platform Pipelines, senza eliminare il cluster GKE. Per eseguire l'upgrade del cluster AI Platform Pipelines, devi reinstallare Kubeflow Pipelines sullo stesso cluster GKE.

    1. Seleziona la casella di controllo per il cluster AI Platform Pipelines.

    2. Nella barra degli strumenti di AI Platform Pipelines, fai clic su Elimina. Viene visualizzata la finestra di dialogo Elimina pipeline Kubeflow dal cluster.

    3. Fai clic su Elimina. L'eliminazione del cluster AI Platform Pipelines potrebbe richiedere diversi minuti.

  4. Utilizza le seguenti istruzioni per reinstallare le pipeline di Kubeflow sul tuo cluster GKE esistente.

    1. Nella barra degli strumenti di AI Platform Pipelines, fai clic su Nuova istanza. Kubeflow Pipelines si apre in Google Cloud Marketplace.

    2. Fai clic su Configura. Si apre un modulo per configurare il deployment di Kubeflow Pipelines.

    3. Nell'elenco a discesa Cluster, seleziona il cluster in cui è stato eseguito il deployment dell'istanza precedente di Kubeflow Pipelines.

    4. Seleziona lo spazio dei nomi in cui è stato eseguito il deployment dell'istanza precedente di Kubeflow Pipelines.

    5. Nella casella Nome istanza app, inserisci il nome dell'istanza dell'applicazione utilizzato dall'istanza precedente di Kubeflow Pipelines.

    6. Fai clic su Esegui il deployment. Questo passaggio potrebbe richiedere diversi minuti.

    7. Per accedere alla dashboard delle pipeline, apri AI Platform Pipelines nella console Google Cloud.

      Vai ad AI Platform Pipelines

      Quindi, fai clic su Apri dashboard di pipeline per la tua istanza di AI Platform Pipelines.

Passaggi successivi