AI Platform Pipelines ti evita la difficoltà di configurare Kubeflow Pipelines 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 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
La procedura per eseguire l'upgrade del cluster AI Platform Pipelines dipende dal metodo utilizzato dal cluster per archiviare gli artefatti e i metadati della pipeline. Segui le seguenti istruzioni per determinare dove il cluster AI Platform Pipelines archivia gli artefatti e i metadati della pipeline.
Apri le pipeline della piattaforma AI nella console Google Cloud.
Nella riga del cluster AI Platform Pipelines, prendi nota dei valori delle colonne Nome, Cluster, Zona e Spazio dei nomi. Queste informazioni vengono utilizzate nei passaggi successivi.
Apri una sessione di Cloud Shell.
Cloud Shell si apre in un frame nella parte inferiore della console Google Cloud.
Esegui i seguenti comandi per configurare
kubectl
con l'accesso al tuo cluster GKE e impostare il contesto sul namespace 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 risiede il cluster GKE, che hai annotato in un passaggio precedente.
- NAMESPACE: il namespace in cui è stato installato Kubeflow Pipelines, che hai annotato in un passaggio precedente.
AI Platform Pipelines archivia gli artefatti e i metadati della pipeline del tuo cluster utilizzando servizi di archiviazione gestiti o dischi permanenti on-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 il comando seguente in Cloud Shell per verificare se il cluster è stato disegnato con lo spazio di archiviazione on-cluster.
kubectl get pvc -o json | jq -r '.items[].metadata.name'
Questo comando elenca le rivendicazioni dei volumi permanenti (PVC) del tuo cluster Google Kubernetes Engine.
- Se questo elenco contiene mysql-pv-claim e minio-pvc, il tuo cluster AI Platform Pipelines è stato disegnato utilizzando lo spazio di archiviazione on-cluster. Esegui l'upgrade di un cluster AI Platform Pipelines che utilizza lo spazio di archiviazione on-cluster.
- In caso contrario, il cluster è stato disegnato utilizzando lo spazio di archiviazione gestito. Esegui l'upgrade di un cluster AI Platform Pipelines che utilizza lo spazio di archiviazione gestito.
Eseguire l'upgrade di un cluster AI Platform Pipelines che utilizza lo spazio di archiviazione gestito
Segui le istruzioni riportate di seguito per eseguire il backup degli elementi e dei metadati del cluster AI Platform Pipelines ed eseguire l'upgrade del cluster a una versione più recente di Kubeflow Pipelines.
Quando esegui l'upgrade di un cluster Kubeflow Pipelines, devi riutilizzare la stessa configurazione dello spazio di archiviazione. Se il cluster è stato disegnato con lo spazio di archiviazione gestito, segui le istruzioni riportate di seguito per trovare i dettagli di configurazione necessari per eseguire l'upgrade del cluster.
Esegui il comando seguente in Cloud Shell per ottenere il nome del bucket in cui il cluster memorizza gli elementi della pipeline:
kubectl get configmap workflow-controller-configmap -o json | \ jq -r '.data.config | capture("bucket: '"'(?<name>.*?)'"'").name'
Esegui il seguente comando in Cloud Shell per recuperare il nome della connessione istanza dell'istanza Cloud SQL in cui il cluster memorizza i metadati della pipeline.
kubectl get deployments cloudsqlproxy -o json | \ jq -r '.spec.template.spec.containers[].command[] | capture("instances=(?<name>.*)=").name'
Kubeflow Pipelines dipende da due database MySQL. Esegui il comando seguente in Cloud Shell per recuperare il prefisso del database dei database del cluster.
kubectl get configmap metadata-mysql-configmap -o json | \ jq -r '.data.MYSQL_DATABASE | capture("(?<prefix>.*?)_metadata").prefix'
Devi anche specificare il nome utente e la password di un account MySQL con il privilegio
ALL
che Kubeflow Pipelines può utilizzare per connettersi all'istanza Cloud SQL. Se non sai quale account utente MySQL utilizza il tuo cluster, utilizza Cloud SQL per creare un utente MySQL.
Utilizza Cloud SQL per creare un backup dei database MySQL del cluster AI Platform Pipelines.
Apri le pipeline della piattaforma AI nella console Google Cloud.
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.
Seleziona la casella di controllo relativa al cluster AI Platform Pipelines.
Nella barra degli strumenti di AI Platform Pipelines, fai clic su Elimina. Viene visualizzata la finestra di dialogo Elimina Kubeflow Pipelines dal cluster.
Fai clic su Elimina. L'eliminazione del cluster AI Platform Pipelines potrebbe richiedere diversi minuti.
Segui le istruzioni riportate di seguito per reinstallare Kubeflow Pipelines.
Nella barra degli strumenti di AI Platform Pipelines, fai clic su Nuova istanza. Kubeflow Pipelines si apre in Google Cloud Marketplace.
Fai clic su Configura. Si apre un modulo per configurare il deployment di Kubeflow Pipelines.
Seleziona il cluster in cui eseguire il deployment di Kubeflow Pipelines. Questo cluster non deve essere necessariamente lo stesso cluster GKE su cui è stato disegnato il tuo precedente istanza AI Platform Pipelines.
Nella casella Nome istanza app, inserisci il nome dell'istanza dell'applicazione utilizzato dalla precedente istanza Kubeflow Pipelines.
Gli spazi dei nomi vengono utilizzati per gestire le risorse nei grandi cluster GKE. 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 tuo cluster GKE, crea uno spazio dei nomi utilizzando l'elenco a discesa Spazio dei nomi. Per creare uno spazio dei nomi:
Seleziona Crea uno spazio dei nomi nell'elenco a discesa Spazio dei nomi. Viene visualizzata la casella Nuovo nome dello spazio dei nomi.
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.
Lo spazio di archiviazione gestito ti consente di archiviare i metadati e gli elementi della pipeline ML utilizzando Cloud SQL e Cloud Storage. Seleziona Utilizza lo spazio di archiviazione gestito e fornisci le seguenti informazioni:
Bucket Cloud Storage per l'archiviazione degli elementi: specifica il nome del bucket trovato in un passaggio precedente.
Nome della connessione all'istanza Cloud SQL: specifica il nome della connessione istanza che hai trovato in un passaggio precedente.
Nome utente del database: specifica il nome utente del database da utilizzare per Kubeflow Pipelines quando ti connetti all'istanza MySQL. Al momento, l'utente del database deve disporre dei privilegi
ALL
MySQL per eseguire il deployment di Kubeflow Pipelines con lo spazio di archiviazione gestito. Se lasci vuoto questo campo, il valore predefinito è root.Password del database: specifica la password del database da utilizzare per Kubeflow Pipelines quando ti connetti all'istanza MySQL. Se lasci vuoto questo campo, Kubeflow Pipelines si connette al database senza fornire una password, il che non va a buon fine se è richiesta una password per il nome utente specificato.
Prefisso del nome del database: specifica il prefisso del nome del database che hai trovato in un passaggio precedente.
Fai clic su Esegui il deployment. Questo passaggio potrebbe richiedere diversi minuti.
Per accedere alla dashboard delle pipeline, apri AI Platform Pipelines nella console Google Cloud.
Quindi, fai clic su Apri la dashboard delle pipeline per la tua istanza AI Platform Pipelines.
Eseguire l'upgrade di un cluster AI Platform Pipelines che utilizza lo spazio di archiviazione on-cluster
Segui le istruzioni riportate di seguito per eseguire il backup degli elementi e dei metadati del cluster AI Platform Pipelines ed eseguire l'upgrade del cluster a una versione più recente di Kubeflow Pipelines.
Esegui il backup dello spazio di archiviazione dei metadati e degli artefatti del cluster AI Platform Pipelines. Con lo spazio di archiviazione on-cluster, gli artefatti e i metadati della pipeline vengono archiviati su dischi permanenti Compute Engine, che sono collegati al tuo cluster GKE come claim dei volumi permanenti.
Per eseguire questa operazione, devi disporre delle seguenti autorizzazioni:
compute.disks.create
sul progettocompute.disks.useReadOnly
sul disco di origine
Ad esempio, il ruolo
roles/compute.storageAdmin
fornisce queste autorizzazioni. Scopri di più sulla concessione di autorizzazioni e ruoli di Identity and Access Management.Esegui il comando seguente in Cloud Shell per elencare le PVC del cluster e, se opportuno, il nome disco permanente Compute Engine della PVC.
kubectl get pv -o json | \ jq -r '.items[] | .spec.claimRef.name + " - disk name = " + .spec.gcePersistentDisk.pdName'
Se il cluster utilizza lo spazio di archiviazione on-cluster, questo elenco deve contenere i nomi dei dischi persistenti per i PVC mysql-pv-claim e minio-pvc.
Per eseguire il backup degli elementi e dei metadati della pipeline, esegui il seguente comando 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.
Apri le pipeline della piattaforma AI nella console Google Cloud.
Segui le istruzioni riportate di seguito 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.
Seleziona la casella di controllo relativa al cluster AI Platform Pipelines.
Nella barra degli strumenti di AI Platform Pipelines, fai clic su Elimina. Viene visualizzata la finestra di dialogo Elimina Kubeflow Pipelines dal cluster.
Fai clic su Elimina. L'eliminazione del cluster AI Platform Pipelines potrebbe richiedere diversi minuti.
Segui le istruzioni riportate di seguito per reinstallare Kubeflow Pipelines sul tuo cluster GKE esistente.
Nella barra degli strumenti di AI Platform Pipelines, fai clic su Nuova istanza. Kubeflow Pipelines si apre in Google Cloud Marketplace.
Fai clic su Configura. Si apre un modulo per configurare il deployment di Kubeflow Pipelines.
Nell'elenco a discesa Cluster, seleziona il cluster in cui è stata dispiattata la precedente istanza di Kubeflow Pipelines.
Seleziona lo spazio dei nomi in cui è stato eseguito il deployment della tua istanza precedente di Kubeflow Pipelines.
Nella casella Nome istanza app, inserisci il nome dell'istanza dell'applicazione utilizzato dalla precedente istanza Kubeflow Pipelines.
Fai clic su Esegui il deployment. Questo passaggio potrebbe richiedere diversi minuti.
Per accedere alla dashboard delle pipeline, apri AI Platform Pipelines nella console Google Cloud.
Quindi, fai clic su Apri la dashboard delle pipeline per la tua istanza AI Platform Pipelines.
Passaggi successivi
- Orchestra il processo di ML come una pipeline.
- Scopri come eseguire le pipeline ML.
- Scopri come connetterti al tuo cluster AI Platform Pipelines utilizzando l'SDK Kubeflow Pipelines.