Questa pagina descrive i passaggi per la risoluzione dei problemi, utili in caso di problemi nell'utilizzo di Vertex AI Workbench.
Consulta anche la sezione Risoluzione dei problemi di Vertex AI per assistenza nell'utilizzo di altri componenti di Vertex AI.
Per filtrare i contenuti di questa pagina, fai clic su un argomento:
Istanze Vertex AI Workbench
Questa sezione descrive i passaggi per la risoluzione dei problemi relativi alle istanze di Vertex AI Workbench.
Connessione e apertura di JupyterLab
Questa sezione descrive i passaggi per la risoluzione dei problemi relativi alla connessione e all'apertura di JupyterLab.
Non succede nulla dopo aver fatto clic su Apri JupyterLab
Problema
Quando fai clic su Apri JupyterLab, non succede nulla.
Soluzione:
Verifica che il browser non blocchi l'apertura automatica di nuove schede. JupyterLab si apre in una nuova scheda del browser.
Impossibile accedere al terminale in un'istanza di Vertex AI Workbench
Problema
Se non riesci ad accedere al terminale o non riesci a trovare la finestra del terminale nel launcher, è possibile che l'accesso al terminale non sia abilitato nell'istanza di Vertex AI Workbench.
Soluzione:
Devi creare una nuova istanza di Vertex AI Workbench con l'opzione Accesso al terminale abilitata. Questa opzione non può essere modificata dopo la creazione dell'istanza.
Errore 502 all'apertura di JupyterLab
Problema
Un errore 502 potrebbe significare che la tua istanza di Vertex AI Workbench non è ancora pronta.
Soluzione:
Attendi qualche minuto, aggiorna la scheda del browser della console Google Cloud e riprova.
Il notebook non risponde
Problema
L'istanza di Vertex AI Workbench non esegue celle o sembra bloccata.
Soluzione:
Per prima cosa, prova a riavviare il kernel facendo clic su Kernel nel menu in alto e poi su Riavvia kernel. Se non funziona, puoi provare quanto segue:
- Aggiorna la pagina del browser JupyterLab. L'output delle celle non salvato non viene mantenuto, quindi devi eseguire di nuovo le celle per rigenerare l'output.
- Reimposta l'istanza.
Impossibile connettersi all'istanza Vertex AI Workbench tramite SSH
Problema
Non riesci a connetterti all'istanza utilizzando SSH tramite una finestra del terminale.
Le istanze Vertex AI Workbench utilizzano OS Login per
abilitare l'accesso SSH. Quando crei un'istanza, Vertex AI Workbench attiva
l'accesso al OS Login per impostazione predefinita impostando la chiave dei metadati enable-oslogin
su TRUE
. Se non riesci a utilizzare SSH per connetterti all'istanza, potrebbe essere necessario impostare questa chiave di metadati su TRUE
.
Soluzione:
La connessione a un'istanza Vertex AI Workbench utilizzando la console Google Cloud non è supportata. Se non riesci a connetterti all'istanza tramite SSH da una finestra del terminale, consulta quanto segue:
Per impostare la chiave dei metadati enable-oslogin
su TRUE
, utilizza il metodo
projects.locations.instances.patch
nell'API Notebooks o il comando
gcloud workbench instances update
in Google Cloud SDK.
La quota di GPU è stata superata
Problema
Non puoi creare un'istanza di Vertex AI Workbench con GPU.
Soluzione:
Determina il numero di GPU disponibili nel progetto controllando la pagina Quote. Se le GPU non sono elencate nella pagina delle quote o se hai bisogno di una quota GPU aggiuntiva, puoi richiedere un aumento della quota per le GPU di Compute Engine. Consulta Richiedere un limite di quota più alto.
Creazione di istanze Vertex AI Workbench
Questa sezione descrive come risolvere i problemi relativi alla creazione di istanze di Vertex AI Workbench.
L'istanza rimane in stato In attesa a tempo indeterminato o è bloccata nello stato di provisioning
Problema
Dopo aver creato un'istanza di Vertex AI Workbench, questa rimane indefinitamente nello stato in attesa. Nei log seriali potrebbe essere visualizzato un errore simile al seguente:
Could not resolve host: notebooks.googleapis.com
Se la tua istanza è bloccata nello stato di provisioning, il motivo potrebbe essere una configurazione di rete privata non valida per l'istanza.
Soluzione:
Segui i passaggi descritti nella sezione I log dell'istanza mostrano errori di connessione o timeout.
Impossibile creare un'istanza all'interno di una rete VPC condiviso
Problema
Il tentativo di creare un'istanza all'interno di una rete VPC condiviso genera un messaggio di errore simile al seguente:
Required 'compute.subnetworks.use' permission for 'projects/network-administration/regions/us-central1/subnetworks/v'
Soluzione:
Il problema è che il service account Notebooks sta tentando di creare l'istanza senza le autorizzazioni corrette.
Per assicurarti che il service account Notebooks disponga delle autorizzazioni necessarie per creare un'istanza Vertex AI Workbench all'interno di una rete VPC condiviso, chiedi all'amministratore di concedere al service account Notebooks il ruolo IAM Utente di rete Compute (roles/compute.networkUser
) nel progetto host.
Questo ruolo predefinito contiene le autorizzazioni necessarie per garantire che il service account Notebooks possa creare un'istanza Vertex AI Workbench all'interno di una rete VPC condiviso. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per assicurarti che il service account Notebooks possa creare un'istanza Vertex AI Workbench all'interno di una rete VPC condiviso, sono necessarie le seguenti autorizzazioni:
-
Per utilizzare le subnet:
compute.subnetworks.use
L'amministratore potrebbe anche essere in grado di concedere queste autorizzazioni all'account di servizio Notebook con ruoli personalizzati o altri ruoli predefiniti.
Impossibile creare un'istanza di Vertex AI Workbench con un container personalizzato
Problema
Non è disponibile un'opzione per utilizzare un contenitore personalizzato quando crei un'istanza di Vertex AI Workbench nella console Google Cloud .
Soluzione:
L'aggiunta di un container personalizzato a un'istanza Vertex AI Workbench non è supportata e non puoi aggiungere un container personalizzato utilizzando la console Google Cloud .
L'aggiunta di un ambiente conda è consigliata anziché l'utilizzo di un container personalizzato.
Puoi aggiungere un container personalizzato a un'istanza Vertex AI Workbench utilizzando l'API Notebooks, ma questa funzionalità non è supportata.
Il pulsante Monta archivio condiviso non è presente
Problema
Il pulsante Monta spazio di archiviazione condiviso non è presente nella scheda Esplora file dell'interfaccia di JupyterLab.
Soluzione:
L'autorizzazione storage.buckets.list
è necessaria per visualizzare il pulsante
Monta spazio di archiviazione condiviso nell'interfaccia JupyterLab dell'istanza
Vertex AI Workbench. Chiedi all'amministratore di concedere all'account di servizio dell'istanza Vertex AI Workbench l'autorizzazione storage.buckets.list
per il progetto.
Errore 599 durante l'utilizzo di Dataproc
Problema
Il tentativo di creare un'istanza abilitata per Dataproc restituisce un messaggio di errore simile al seguente:
HTTP 599: Unknown (Error from Gateway: [Timeout while connecting] Exception while attempting to connect to Gateway server url. Ensure gateway url is valid and the Gateway instance is running.)
Soluzione:
Nella configurazione di Cloud DNS, aggiungi una voce Cloud DNS per il
dominio *.googleusercontent.com
.
Impossibile installare l'estensione JupyterLab di terze parti
Problema
Il tentativo di installare un'estensione JupyterLab di terze parti genera un messaggio
Error: 500
.
Soluzione:
Le estensioni JupyterLab di terze parti non sono supportate nelle istanze di Vertex AI Workbench.
Impossibile modificare la macchina virtuale sottostante
Problema
Quando provi a modificare la macchina virtuale (VM) sottostante di un'istanza di Vertex AI Workbench, potresti ricevere un messaggio di errore simile al seguente:
Current principal doesn't have permission to mutate this resource.
Soluzione:
Questo errore si verifica perché non puoi modificare la VM sottostante di un'istanza utilizzando la console Google Cloud o l'API Compute Engine.
Per modificare la VM sottostante di un'istanza di Vertex AI Workbench, utilizza il metodo
projects.locations.instances.patch
nell'API Notebooks o il comando
gcloud workbench instances update
nel Google Cloud SDK
I pacchetti pip
non sono disponibili dopo l'aggiunta dell'ambiente conda
Problema
I tuoi pacchetti pip
non sono disponibili dopo l'aggiunta di un kernel basato su conda.
Soluzione:
Per risolvere il problema, consulta Aggiungere un ambiente conda e prova quanto segue:
Verifica di aver utilizzato la variabile
DL_ANACONDA_ENV_HOME
e che contenga il nome del tuo ambiente.Verifica che
pip
si trovi in un percorso simile aopt/conda/envs/ENVIRONMENT/bin/pip
. Puoi eseguire il comandowhich pip
per ottenere il percorso.
Impossibile accedere o copiare i dati di un'istanza con accesso per un solo utente
Problema
I dati di un'istanza con accesso per un singolo utente non sono accessibili.
Per le istanze Vertex AI Workbench configurate con l'accesso di un singolo utente, solo l'utente singolo specificato (il proprietario) può accedere ai dati sull'istanza.
Soluzione:
Per accedere ai dati o copiarli quando non sei il proprietario dell'istanza, apri una richiesta di assistenza.
Arresto imprevisto
Problema
L'istanza Vertex AI Workbench si arresta in modo imprevisto.
Soluzione:
Se la tua istanza si arresta in modo imprevisto, il motivo potrebbe essere l'avvio dell'arresto inattivo.
Se hai attivato l'arresto inattivo, l'istanza si arresta quando non viene rilevata attività del kernel per il periodo di tempo specificato. Ad esempio, l'esecuzione di una cella o la stampa di un nuovo output in un blocco note è un'attività che reimposta il timer di timeout per inattività. L'utilizzo della CPU non reimposta il timer di timeout per inattività.
I log dell'istanza mostrano errori di connessione o timeout
Problema
I log dell'istanza Vertex AI Workbench mostrano errori di connessione o timeout.
Soluzione:
Se noti errori di connessione o timeout nei log dell'istanza, assicurati che il server Jupyter sia in esecuzione sulla porta 8080. Segui i passaggi descritti nella sezione Verifica che l'API interna Jupyter sia attiva.
Se hai disattivato External IP
e utilizzi una rete VPC privata, assicurati di aver seguito anche la
documentazione sulle opzioni di configurazione di rete.
Considera quanto segue:
Devi abilitare l'accesso privato Google nella subnet scelta nella stessa regione in cui si trova l'istanza nel progetto host VPC. Per ulteriori informazioni sulla configurazione dell'accesso privato Google, consulta la documentazione relativa.
Se utilizzi Cloud DNS, l'istanza deve essere in grado di risolvere i domini Cloud DNS richiesti specificati nella documentazione sulle opzioni di configurazione di rete. Per verificarlo, segui i passaggi descritti nella sezione Verifica che l'istanza possa risolvere i domini DNS richiesti.
I log dell'istanza mostrano "Unable to contact Jupyter API" (Impossibile contattare l'API Jupyter) "ReadTimeoutError"
Problema
I log dell'istanza di Vertex AI Workbench mostrano un errore come:
notebooks_collection_agent. Unable to contact Jupyter API:
HTTPConnectionPool(host=\'127.0.0.1\', port=8080):
Max retries exceeded ReadTimeoutError(\"HTTPConnectionPool(host=\'127.0.0.1\', port=8080
Soluzione:
Segui i passaggi descritti nella
sezione I log dell'istanza mostrano errori di connessione o timeout.
Puoi anche provare a
modificare lo script dell'agente di raccolta dei notebook
per impostare HTTP_TIMEOUT_SESSION
su un valore maggiore,
ad esempio 60
, per verificare se la richiesta non è andata a buon fine perché
la chiamata ha impiegato troppo tempo per rispondere o l'URL richiesto non è raggiungibile.
docker0
conflitti di indirizzi con l'indirizzamento VPC
Problema
Per impostazione predefinita, l'interfaccia docker0
viene creata con un indirizzo IP 172.17.0.1/16
. Ciò potrebbe entrare in conflitto con l'indirizzamento IP nella tua rete VPC, in modo che l'istanza non possa connettersi ad altri endpoint con indirizzi 172.17.0.1/16
.
Soluzione:
Puoi forzare la creazione dell'interfaccia docker0
con un indirizzo IP che non sia in conflitto con la tua rete VPC utilizzando il seguente script post-startup e impostando il comportamento dello script post-startup su run_once
.
#!/bin/bash # Wait for Docker to be fully started while ! systemctl is-active docker; do sleep 1 done # Stop the Docker service systemctl stop docker # Modify /etc/docker/daemon.json cat </etc/docker/daemon.json { "bip": "CUSTOM_DOCKER_IP/16" } EOF # Restart the Docker service systemctl start docker
Le prenotazioni specificate non esistono
Problema
L'operazione per creare l'istanza genera un messaggio di errore Specified reservations do
not exist
. L'output dell'operazione potrebbe essere simile al seguente:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.notebooks.v2.OperationMetadata", "createTime": "2025-01-01T01:00:01.000000000Z", "endTime": "2025-01-01T01:00:01.000000000Z", "target": "projects/PROJECT/locations/LOCATION/instances/INSTANCE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v2", "endpoint": "CreateInstance" }, "done": true, "error": { "code": 3, "message": "Invalid value for field 'resource.reservationAffinity': '{ \"consumeReservationType\": \"SPECIFIC_ALLOCATION\", \"key\": \"compute.googleapis.com/reservation-name...'. Specified reservations [projects/PROJECT/zones/ZONE/futureReservations/RESERVATION_NAME] do not exist.", "details": [ { "@type": "type.googleapis.com/google.rpc.RequestInfo", "requestId": "REQUEST_ID" } ] } }
Soluzione:
Alcuni tipi di macchine Compute Engine richiedono parametri aggiuntivi al momento della creazione, come dischi locali o una piattaforma CPU minima. La specifica dell'istanza deve includere questi campi aggiuntivi.
Ad esempio, il tipo di macchina a3-megagpu-8g
richiede 16 dischi SSD locali, che devono essere inclusi nella prenotazione e specificati nella richiesta di creazione dell'istanza.
BODY='{ "gce_setup": { "machine_type": "a3-megagpu-8g", "reservation_affinity": { "consume_reservation_type": "RESERVATION_SPECIFIC", "key": "compute.googleapis.com/reservation-name", "values": ["RESERVATION_NAME"] }, "bootDisk": { "disk_type": "PD_SSD", "diskSizeGb": "150", "diskEncryption": "GMEK" }, "data_disks": [ { "disk_type": "PD_SSD", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, { "disk_type": "SCRATCH", "interface_type": "NVME", }, ], } }'
Notebook gestiti
Questa sezione descrive i passaggi per la risoluzione dei problemi relativi ai blocchi note gestiti.
Connessione e apertura di JupyterLab
Questa sezione descrive la risoluzione dei problemi relativi alla connessione e all'apertura di JupyterLab.
Non succede nulla dopo aver fatto clic su Apri JupyterLab
Problema
Quando fai clic su Apri JupyterLab, non succede nulla.
Soluzione:
Verifica che il browser non blocchi l'apertura automatica di nuove schede. JupyterLab si apre in una nuova scheda del browser.
Impossibile connettersi all'istanza di notebook gestiti tramite SSH
Problema
Non è disponibile un'opzione per connettersi alle istanze di notebook gestiti utilizzando SSH.
Soluzione:
L'accesso SSH alle istanze di notebook gestiti non è disponibile.
Impossibile accedere al terminale in un'istanza di notebook gestiti
Problema
Se non riesci ad accedere al terminale o non riesci a trovare la finestra del terminale nel launcher, è possibile che l'accesso al terminale non sia abilitato nell'istanza dei notebook gestiti.
Soluzione:
Devi creare una nuova istanza di blocchi note gestiti con l'opzione Accesso al terminale attivata. Questa opzione non può essere modificata dopo la creazione dell'istanza.
Errore 502 all'apertura di JupyterLab
Problema
Un errore 502 potrebbe significare che l'istanza di notebook gestiti non è ancora pronta.
Soluzione:
Attendi qualche minuto, aggiorna la scheda del browser della console Google Cloud e riprova.
L'apertura di un notebook genera un errore 524 (si è verificato un timeout)
Problema
Un errore 524 indica in genere che l'agente proxy inverso non si connette al server proxy inverso o che le richieste richiedono troppo tempo sul lato server di backend (Jupyter). Le cause comuni di questo errore includono problemi di rete, l'agente proxy inverso non è in esecuzione o il servizio Jupyter non è in esecuzione.
Soluzione:
Verifica che l'istanza di blocchi note gestiti sia avviata.
Il notebook non risponde
Problema
L'istanza di blocchi note gestiti non esegue celle o sembra bloccata.
Soluzione:
Per prima cosa, prova a riavviare il kernel facendo clic su Kernel nel menu in alto e poi su Riavvia kernel. Se non funziona, puoi provare quanto segue:
- Aggiorna la pagina del browser JupyterLab. L'output delle celle non salvato non viene mantenuto, quindi devi eseguire di nuovo le celle per rigenerare l'output.
- Reimposta l'istanza.
Migrazione alle istanze Vertex AI Workbench
Questa sezione descrive i metodi per diagnosticare e risolvere i problemi relativi alla migrazione da un'istanza di notebook gestiti a un'istanza di Vertex AI Workbench.
Impossibile trovare un kernel che si trovava nell'istanza di notebook gestiti
Problema
Un kernel presente nell'istanza di blocchi note gestiti non viene visualizzato nell'istanza di Vertex AI Workbench a cui hai eseguito la migrazione.
I container personalizzati vengono visualizzati come kernel nei notebook gestiti. Lo strumento di migrazione di Vertex AI Workbench non supporta la migrazione di container personalizzati.
Soluzione:
Per risolvere il problema, aggiungi un ambiente conda all'istanza di Vertex AI Workbench.
Versione diversa del framework nell'istanza di cui è stata eseguita la migrazione
Problema
Un framework presente nell'istanza di notebook gestiti aveva una versione diversa da quella dell'istanza di Vertex AI Workbench a cui hai eseguito la migrazione.
Le istanze di Vertex AI Workbench forniscono un insieme predefinito di versioni del framework. Lo strumento di migrazione non aggiunge versioni del framework dall'istanza originale di notebook gestiti. Consulta i comportamenti predefiniti dello strumento di migrazione.
Soluzione:
Per aggiungere una versione specifica di un framework, aggiungi un ambiente conda all'istanza di Vertex AI Workbench.
Le GPU non vengono migrate alla nuova istanza di Vertex AI Workbench
Problema
Le GPU presenti nell'istanza dei blocchi note gestiti non sono presenti nell'istanza di Vertex AI Workbench a cui hai eseguito la migrazione.
Le istanze di Vertex AI Workbench supportano un insieme predefinito di GPU. Se le GPU nell'istanza originale di blocchi note gestiti non sono disponibili, la migrazione dell'istanza viene eseguita senza GPU.
Soluzione:
Dopo la migrazione, puoi aggiungere GPU all'istanza Vertex AI Workbench utilizzando il metodo
projects.locations.instances.patch
nell'API Notebooks o il comando
gcloud workbench instances update
in Google Cloud SDK.
Il tipo di macchina dell'istanza di cui è stata eseguita la migrazione è diverso
Problema
Il tipo di macchina dell'istanza di notebook gestiti è diverso dall'istanza Vertex AI Workbench a cui hai eseguito la migrazione.
Le istanze Vertex AI Workbench non supportano tutti i tipi di macchine. Se il tipo di macchina nell'istanza originale di notebook gestiti non è disponibile, viene eseguita la migrazione dell'istanza al tipo di macchina e2-standard-4
.
Soluzione:
Dopo la migrazione, puoi modificare il tipo di macchina dell'istanza Vertex AI Workbench utilizzando il metodo
projects.locations.instances.patch
nell'API Notebooks o il comando
gcloud workbench instances update
in Google Cloud SDK.
La quota di GPU è stata superata
Problema
Non puoi creare un'istanza di blocchi note gestiti con GPU.
Soluzione:
Determina il numero di GPU disponibili nel progetto controllando la pagina Quote. Se le GPU non sono elencate nella pagina Quote o se hai bisogno di una quota di GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta Richiedere un limite di quota più alto.
Utilizzo delle immagini container
Questa sezione descrive la risoluzione dei problemi relativi all'utilizzo delle immagini container.
L'immagine container non viene visualizzata come kernel in JupyterLab
Problema
Le immagini container che non hanno una specifica del kernel valida non vengono caricate correttamente come kernel in JupyterLab.
Soluzione:
Assicurati che il contenitore soddisfi i nostri requisiti. Per maggiori informazioni, consulta i requisiti dei container personalizzati.
Il notebook si disconnette per un job di lunga durata
Problema
Se visualizzi il seguente messaggio di errore durante l'esecuzione di un job in un notebook, è possibile che la richiesta impieghi troppo tempo per caricarsi o che l'utilizzo di CPU o memoria sia elevato, il che può rendere il servizio Jupyter non reattivo.
{"log":"2021/06/29 18:10:33 failure fetching a VM ID: compute: Received 500
`internal error`\n","stream":"stderr","time":"2021-06-29T18:10:33.383650241Z"}
{"log":"2021/06/29 18:38:26 Websocket failure: failed to read a websocket
message from the server: read tcp [::1]:40168-\u003e[::1]:8080: use of closed
network connection\n","stream":"stderr","time":"2021-06-29T18:38:26.057622824Z"}
Soluzione:
Questo problema è causato dall'esecuzione di un job a lunga esecuzione all'interno di un notebook. Per eseguire un job il cui completamento potrebbe richiedere molto tempo, ti consigliamo di utilizzare l'executor.
Utilizzo dell'executor
Questa sezione descrive la risoluzione dei problemi relativi all'utilizzo dell'executor.
Installazioni di pacchetti non disponibili per l'esecutore
Problema
L'executor esegue il codice del notebook in un ambiente separato dal kernel in cui esegui il codice del file del notebook. Per questo motivo, alcuni dei pacchetti che hai installato potrebbero non essere disponibili nell'ambiente dell'executor.
Soluzione:
Per risolvere il problema, consulta la sezione Assicurarsi che le installazioni dei pacchetti siano disponibili per l'esecutore.
Errori 401 o 403 durante l'esecuzione del codice del blocco note utilizzando l'executor
Problema
Un errore 401 o 403 durante l'esecuzione dell'executor può significare che l'executor non è in grado di accedere alle risorse.
Soluzione:
Per le possibili cause, consulta quanto segue:
L'executor esegue il codice del notebook in un progetto tenant separato dal progetto dell'istanza di Managed Notebooks. Pertanto, quando accedi alle risorse tramite il codice eseguito dall'executor, l'executor potrebbe non connettersi al progetto Google Cloud corretto per impostazione predefinita. Per risolvere il problema, seleziona esplicitamente il progetto.
Per impostazione predefinita, l'istanza di notebook gestiti può accedere alle risorse che esistono nello stesso progetto e, pertanto, quando esegui manualmente il codice del file notebook, queste risorse non richiedono un'autenticazione aggiuntiva. Tuttavia, poiché l'executor viene eseguito in un progetto tenant separato, non dispone dello stesso accesso predefinito. Per risolvere il problema, autentica l'accesso utilizzando i service account.
L'esecutore non può utilizzare le credenziali dell'utente finale per autenticare l'accesso alle risorse, ad esempio il comando
gcloud auth login
. Per risolvere il problema, autentica l'accesso utilizzando i service account.
Errore exited with a non-zero status of 127
durante l'utilizzo dell'executor
Problema
Un errore exited with a non-zero status of 127
o "comando non trovato" può verificarsi quando utilizzi l'executor per eseguire codice su un contenitore personalizzato in cui non è installata l'estensione nbexecutor
.
Soluzione:
Per assicurarti che il tuo container personalizzato abbia l'estensione nbexecutor
, puoi
creare un'immagine container derivata da un'immagine Deep Learning Containers.
Le immagini Deep Learning Containers includono l'estensione nbexecutor
.
Messaggio di errore relativo a una configurazione di service networking non valida
Problema
Questo errore potrebbe avere il seguente aspetto:
Invalid Service Networking configuration. Couldn't find free blocks in allocated IP ranges.
Please use a valid range using: /24 mask or below (/23,/22, etc).
Ciò significa che non sono stati trovati blocchi liberi negli intervalli IP allocati della tua rete.
Soluzione:
Utilizza una subnet mask di /24
o inferiore. Crea un intervallo di indirizzi IP allocato più grande e collegalo modificando la connessione di servizio privato per servicenetworking-googleapis-com
.
Per maggiori informazioni, vedi Configurare una rete.
Impossibile installare l'estensione JupyterLab di terze parti
Problema
Il tentativo di installare un'estensione JupyterLab di terze parti genera un messaggio
Error: 500
.
Soluzione:
Le estensioni JupyterLab di terze parti non sono supportate nelle istanze di blocchi note gestiti.
Impossibile accedere o copiare i dati di un'istanza con accesso per un solo utente
Problema
I dati di un'istanza con accesso per un singolo utente non sono accessibili.
Soluzione:
Per le istanze di notebook gestiti configurate con l'accesso di un singolo utente, solo l'utente singolo specificato (il proprietario) può accedere ai dati sull'istanza.
Per accedere ai dati o copiarli quando non sei il proprietario dell'istanza, apri una richiesta di assistenza.
Arresto imprevisto
Problema
L'istanza Vertex AI Workbench si arresta in modo imprevisto.
Soluzione:
Se la tua istanza si arresta in modo imprevisto, il motivo potrebbe essere l'avvio dell'arresto inattivo.
Se hai attivato l'arresto inattivo, l'istanza si arresta quando non viene rilevata attività del kernel per il periodo di tempo specificato. Ad esempio, l'esecuzione di una cella o la stampa di un nuovo output in un blocco note è un'attività che reimposta il timer di timeout per inattività. L'utilizzo della CPU non reimposta il timer di timeout per inattività.
Ripristina istanza
Problema
Il ripristino di un'istanza di blocchi note gestiti dopo l'eliminazione non è supportato.
Soluzione:
Per eseguire il backup dei dati nell'istanza, puoi salvare i notebook su GitHub.
Recuperare i dati da un'istanza
Problema
Il recupero dei dati da un'istanza di blocchi note gestiti dopo l'eliminazione non è supportato.
Soluzione:
Per eseguire il backup dei dati nell'istanza, puoi salvare i notebook su GitHub.
Creazione di istanze di notebook gestiti
Questa sezione descrive la risoluzione dei problemi relativi alla creazione di istanze di notebook gestiti.
Errore: problema durante la creazione di una connessione
Problema
Si è verificato questo errore durante la creazione di un'istanza:
We encountered a problem while creating a connection.
Service 'servicenetworking.googleapis.com' requires at least
one allocated range to have minimal size; please make sure
at least one allocated range will have prefix length at most '24'.
Soluzione:
Crea un intervallo IP allocato
maggiore di /24
e collega questo intervallo modificando la connessione
privata ai servizi
per la connessione servicenetworking-googleapis-com
.
La creazione di un'istanza genera un errore di disponibilità delle risorse
Problema
Non puoi creare un'istanza a causa di un errore di disponibilità delle risorse.
Questo errore può avere il seguente aspetto:
Creating notebook INSTANCE_NAME: ZONE does not have enough resources available to fulfill the request. Retry later or try another zone in your configurations.
Gli errori delle risorse si verificano quando richiedi nuove risorse in una zona che non può soddisfare la tua richiesta a causa dell'attuale non disponibilità di risorse di Compute Engine, ad esempio GPU o CPU.
Gli errori delle risorse si applicano solo alle nuove richieste di risorse nella zona e non influiscono sulle risorse esistenti. Gli errori delle risorse non sono correlati alla quota di Compute Engine. Gli errori di risorse sono temporanei e possono cambiare di frequente in base alle fluttuazioni della domanda.
Soluzione:
Per continuare, prova quanto segue:
- Crea un'istanza con un tipo di macchina diverso.
- Crea l'istanza in una zona diversa.
- Riprova a inviare la richiesta più tardi.
- Riduci la quantità di risorse che stai richiedendo. Ad esempio, prova a creare un'istanza con meno GPU, dischi, vCPU o memoria.
L'avvio di un'istanza genera un errore di disponibilità delle risorse
Problema
Non puoi avviare un'istanza a causa di un errore di disponibilità delle risorse.
Questo errore può avere il seguente aspetto:
The zone ZONE_NAME doesn't have enough resources available to fulfill the request. '(resource type:compute)'.
Gli errori delle risorse si verificano quando provi ad avviare un'istanza in una zona che non può soddisfare la tua richiesta a causa dell'attuale non disponibilità di risorse di Compute Engine, ad esempio GPU o CPU.
Gli errori delle risorse si applicano solo alle risorse specificate nella richiesta al momento dell'invio, non a tutte le risorse della zona. Gli errori delle risorse non sono correlati alla quota di Compute Engine. Gli errori delle risorse sono temporanei e possono cambiare frequentemente in base alle fluttuazioni della domanda.
Soluzione:
Per continuare, prova quanto segue:
- Modifica il tipo di macchina dell'istanza.
- Esegui la migrazione dei file e dei dati a un'istanza in una zona diversa.
- Riprova a inviare la richiesta più tardi.
- Riduci la quantità di risorse che stai richiedendo. Ad esempio, avvia un'altra istanza con meno GPU, dischi, vCPU o memoria.
No route to host
sulle connessioni in uscita dai blocchi note gestiti
Problema
In genere, le uniche route che puoi visualizzare nella console Google Cloud sono quelle note al tuo VPC, nonché gli intervalli riservati quando completi la configurazione del peering di rete VPC.
Le istanze di blocchi note gestiti si trovano in una rete gestita da Google ed eseguono una versione modificata di Jupyter in uno spazio dei nomi di rete Docker all'interno dell'istanza.
L'interfaccia di rete Docker e il bridge Linux su questa istanza potrebbero selezionare un
IP locale in conflitto con gli intervalli IP esportati tramite il peering dal tuo
VPC. Questi valori rientrano in genere negli intervalli 172.16.0.0/161
e
192.168.10.0/24
, rispettivamente.
In queste circostanze, le connessioni in uscita dall'istanza a questi intervalli
non andranno a buon fine e verrà visualizzato un messaggio di errore simile a No route to host
nonostante
le route VPC siano condivise correttamente.
Soluzione:
Richiama ifconfig
in una sessione del terminale e assicurati che nessun indirizzo IP su qualsiasi interfaccia virtuale nell'istanza sia in conflitto con gli intervalli IP che il tuo VPC sta esportando nella connessione di peering.
Notebook gestiti dall'utente
Questa sezione descrive i passaggi per la risoluzione dei problemi relativi ai notebook gestiti dall'utente.
Connessione e apertura di JupyterLab
Questa sezione descrive la risoluzione dei problemi relativi alla connessione e all'apertura di JupyterLab.
Non succede nulla dopo aver fatto clic su Apri JupyterLab
Problema
Quando fai clic su Apri JupyterLab, non succede nulla.
Soluzione:
Verifica che il browser non blocchi l'apertura automatica di nuove schede. JupyterLab si apre in una nuova scheda del browser.
Nessun accesso al server proxy inverso a JupyterLab
Problema
Non riesci ad accedere a JupyterLab.
Vertex AI Workbench utilizza un server proxy inverso interno di Google per fornire l'accesso a JupyterLab. Le impostazioni dell'istanza di blocchi note gestiti dall'utente, la configurazione di rete e altri fattori possono impedire l'accesso a JupyterLab.
Soluzione:
Impossibile connettersi all'istanza di notebook gestiti dall'utente tramite SSH
Problema
Non riesci a connetterti all'istanza utilizzando SSH tramite una finestra del terminale.
Le istanze di notebook gestiti dall'utente utilizzano OS Login
per abilitare l'accesso SSH. Quando crei un'istanza, Vertex AI Workbench
attiva l'accesso al OS Login per impostazione predefinita impostando la chiave dei metadati enable-oslogin
su
TRUE
. Se non riesci a utilizzare SSH per connetterti all'istanza, potrebbe essere necessario impostare questa chiave di metadati su TRUE
.
Soluzione:
Per attivare l'accesso SSH per i notebook gestiti dall'utente per gli utenti, completa i passaggi per configurare i ruoli OS Login sugli account utente.
L'apertura di un'istanza di blocchi note gestiti dall'utente genera un errore 403 (accesso negato)
Problema
Un errore 403 (Forbidden)
durante l'apertura di un'istanza di blocchi note gestiti dall'utente
spesso indica che si è verificato un problema di accesso.
Soluzione:
Per risolvere i problemi di accesso, considera i tre modi in cui l'accesso può essere concesso a un'istanza di blocchi note gestiti dall'utente:
- Utente singolo
- Service account
- Editor progetto
La modalità di accesso viene configurata durante la creazione dell'istanza di blocchi note gestiti dall'utente ed è definita nei metadati del notebook:
- Singolo utente:
proxy-mode=mail, proxy-user-mail=user@domain.com
- Service account:
proxy-mode=service_account
- Editor progetto:
proxy-mode=project_editors
Se non riesci ad accedere a un notebook quando fai clic su Apri JupyterLab, prova a procedere nel seguente modo:
Verifica che l'utente che accede all'istanza disponga dell'autorizzazione
iam.serviceAccounts.ActAs
per il account di servizio dell'istanza. Il account di servizio è ilaccount di serviziot Compute Engine predefinito o unaccount di serviziot specificato al momento della creazione dell'istanza.Se la tua istanza utilizza l'accesso per un singolo utente con un account di servizio specificato come singolo utente, vedi Nessun accesso a JupyterLab, modalità per un singolo utente attivata.
L'esempio seguente mostra come specificare un account di servizio quando crei un'istanza:
gcloud notebooks instances create nb-1 \ --vm-image-family=tf-latest-cpu \ --metadata=proxy-mode=mail,proxy-user-mail=user@domain.com \ --service-account=your_service_account@project_id.iam.gserviceaccount.com \ --location=us-west1-a
Quando fai clic su Apri JupyterLab per aprire un blocco note, questo si apre in una nuova scheda del browser. Se hai eseguito l'accesso a più di un Account Google, la nuova
scheda si apre con il tuo Account Google predefinito. Se non hai creato l'istanza dei notebook gestiti dall'utente con il tuo Account Google predefinito,
nella nuova scheda del browser verrà visualizzato un errore 403 (Forbidden)
.
Nessun accesso a JupyterLab, modalità utente singolo abilitata
Problema
Non riesci ad accedere a JupyterLab.
Soluzione:
Se un utente non riesce ad accedere a JupyterLab e l'accesso dell'istanza a JupyterLab
è impostato su Single user only
, prova a procedere nel seguente modo:
Nella pagina dei blocchi note gestiti dall'utente della console Google Cloud , fai clic sul nome dell'istanza per aprire la pagina Dettagli notebook.
Accanto a Visualizza dettagli VM, fai clic su Visualizza in Compute Engine.
Nella pagina dei dettagli della VM, fai clic su Modifica.
Nella sezione Metadati, verifica che la voce di metadati
proxy-mode
sia impostata sumail
.Verifica che la voce di metadati
proxy-user-mail
sia impostata su un indirizzo email utente valido, non su un account di servizio.Fai clic su Salva.
Nella pagina Blocchi note gestiti dall'utente della console Google Cloud , inizializza i metadati aggiornati interrompendo l'istanza e riavviandola.
L'apertura di un notebook genera un errore 504 (timeout del gateway)
Problema
Questo indica un timeout del proxy interno o un timeout del server di backend (Jupyter). Ciò si verifica quando:
- La richiesta non ha mai raggiunto il server Inverting Proxy interno
- Il backend (Jupyter) restituisce un errore 504.
Soluzione:
Apri una richiesta di assistenza Google.
L'apertura di un notebook genera un errore 524 (si è verificato un timeout)
Problema
Il server proxy inverso interno non ha ricevuto una risposta dall'agente proxy inverso per la richiesta entro il periodo di timeout. L'agente proxy inverso viene eseguito all'interno dell'istanza di blocchi note gestiti dall'utente come container Docker. Un errore 524 indica in genere che l'agente Inverting Proxy non si connette al server Inverting Proxy o che le richieste richiedono troppo tempo sul lato server di backend (Jupyter). Un caso tipico di questo errore si verifica sul lato utente (ad esempio, un problema di rete o il servizio dell'agente proxy inverso non è in esecuzione).
Soluzione:
Se non riesci ad accedere a un notebook, verifica che l'istanza dei notebook gestiti dall'utente sia avviata e prova a procedere nel seguente modo:
Opzione 1: esegui lo strumento di diagnostica per controllare e riparare automaticamente i servizi di base dei blocchi note gestiti dall'utente, verificare lo spazio di archiviazione disponibile e generare file di log utili. Per eseguire lo strumento nell'istanza, segui questi passaggi:
Assicurati che la tua istanza sia alla versione M58 o successive.
Connettiti all'istanza Deep Learning VM Images utilizzando SSH.
Esegui questo comando:
sudo /opt/deeplearning/bin/diagnostic_tool.sh [--repair] [--bucket=$BUCKET]
Tieni presente che il flag
--repair
e i flag--bucket
sono facoltativi. Il flag--repair
tenterà di correggere gli errori comuni dei servizi di base, mentre il flag--bucket
ti consentirà di specificare un bucket Cloud Storage in cui archiviare i file di log creati.L'output di questo comando mostrerà messaggi di stato utili per i servizi principali dei notebook gestiti dall'utente ed esporterà i file di log dei risultati.
Opzione 2: segui questi passaggi per controllare individualmente i requisiti specifici dei notebook gestiti dagli utenti.
Verifica che lo spazio su disco dell'istanza di blocchi note gestiti dall'utente non sia esaurito.
Connettiti all'istanza Deep Learning VM Images utilizzando SSH.
Esegui questo comando:
df -h -T /home/jupyter
Se Use% è superiore a
85%
, devi eliminare manualmente i file da/home/jupyter
. Come primo passaggio, puoi svuotare il cestino con il seguente comando:sudo rm -rf /home/jupyter/.local/share/Trash/*
Verifica che l'agente Inverting Proxy sia in esecuzione. Se l'agente è avviato, prova a riavviarlo.
Assicurati che il servizio Jupyter sia in esecuzione. Se è così, prova a riavviarlo.
Verifica l'utilizzo della memoria nell'istanza di blocchi note gestiti dall'utente.
Esegui questo comando:
free -t -h
Se la memoria utilizzata è superiore a
85%
di quella totale, ti consigliamo di modificare il tipo di macchina.Puoi installare l'agente Cloud Monitoring per monitorare se si verifica un utilizzo elevato della memoria nell'istanza di blocchi note gestiti dall'utente. Visualizza le informazioni sui prezzi.
Verifica di utilizzare Deep Learning VM versione M55 o successive. Per scoprire di più sull'upgrade, vedi Upgrade dell'ambiente di un'istanza di blocchi note gestita dall'utente.
L'apertura di un notebook genera un errore 598 (timeout di lettura della rete)
Problema
Il server Inverting Proxy non riceve comunicazioni dall'agente Inverting Proxy da più di 10 minuti. Questo è un forte indicatore di un problema dell'agente Inverting Proxy.
Soluzione:
Se non riesci ad accedere a un blocco note, prova a procedere nel seguente modo:
Verifica che l'istanza di blocchi note gestiti dall'utente sia avviata.
Verifica che l'agente Inverting Proxy sia in esecuzione. Se l'agente è avviato, prova a riavviarlo.
Assicurati che il servizio Jupyter sia in esecuzione. Se è così, prova a riavviarlo.
Verifica di utilizzare Deep Learning VM versione M55 o successive. Per scoprire di più sull'upgrade, vedi Upgrade dell'ambiente di un'istanza di blocchi note gestita dall'utente.
Il notebook non risponde
Problema
L'istanza di blocchi note gestiti dall'utente non esegue celle o sembra bloccata.
Soluzione:
Per prima cosa, prova a riavviare il kernel facendo clic su Kernel nel menu in alto e poi su Riavvia kernel. Se non funziona, puoi provare quanto segue:
- Aggiorna la pagina del browser JupyterLab. L'output delle celle non salvato non viene mantenuto, quindi devi eseguire nuovamente le celle per rigenerare l'output.
- Da una sessione del terminale nel notebook, esegui il comando
top
per verificare se ci sono processi che consumano la CPU. - Dal terminale, controlla la quantità di spazio libero su disco utilizzando il comando
df
oppure controlla la RAM disponibile utilizzando il comandofree
. - Arresta l'istanza selezionandola dalla pagina Blocchi note gestiti dall'utente e facendo clic su Arresta. Dopo che si è arrestato completamente, selezionalo e fai clic su Avvia.
Migrazione alle istanze Vertex AI Workbench
Questa sezione descrive i metodi per diagnosticare e risolvere i problemi relativi alla migrazione da un'istanza di notebook gestiti dall'utente a un'istanza di Vertex AI Workbench.
Impossibile trovare R, Beam o altri kernel che si trovavano nell'istanza di blocchi note gestiti dall'utente
Problema
Un kernel presente nell'istanza di notebook gestiti dall'utente non viene visualizzato nell'istanza di Vertex AI Workbench di cui è stata eseguita la migrazione.
Alcuni kernel, come i kernel R e Beam, non sono disponibili nelle istanze di Vertex AI Workbench per impostazione predefinita. La migrazione di questi kernel non è supportata.
Soluzione:
Per risolvere il problema, aggiungi un ambiente conda all'istanza di Vertex AI Workbench.
Impossibile configurare un'istanza Dataproc Hub nell'istanza Vertex AI Workbench
Problema
Dataproc Hub non è supportato nelle istanze di Vertex AI Workbench.
Soluzione:
Continua a utilizzare Dataproc Hub nelle istanze di blocchi note gestiti dall'utente.
Versione diversa del framework nell'istanza di cui è stata eseguita la migrazione
Problema
Un framework presente nell'istanza di notebook gestiti dall'utente aveva una versione diversa da quella nell'istanza di Vertex AI Workbench a cui hai eseguito la migrazione.
Le istanze di Vertex AI Workbench forniscono un insieme predefinito di versioni del framework. Lo strumento di migrazione non aggiunge versioni del framework dall'istanza originale dei notebook gestiti dall'utente. Consulta i comportamenti predefiniti dello strumento di migrazione.
Soluzione:
Per aggiungere una versione specifica di un framework, aggiungi un ambiente conda all'istanza di Vertex AI Workbench.
Le GPU non vengono migrate alla nuova istanza di Vertex AI Workbench
Problema
Le GPU che si trovavano nell'istanza di notebook gestiti dall'utente non si trovano nell'istanza Vertex AI Workbench a cui hai eseguito la migrazione.
Le istanze di Vertex AI Workbench supportano un insieme predefinito di GPU. Se le GPU nell'istanza originale dei blocchi note gestiti dall'utente non sono disponibili, la tua istanza viene migrata senza GPU.
Soluzione:
Dopo la migrazione, puoi aggiungere GPU all'istanza Vertex AI Workbench
utilizzando il metodo
projects.locations.instances.patch
nell'API Notebooks o il comando
gcloud workbench instances update
in Google Cloud SDK.
Il tipo di macchina dell'istanza di cui è stata eseguita la migrazione è diverso
Problema
Il tipo di macchina dell'istanza di notebook gestiti dall'utente è diverso dall'istanza di Vertex AI Workbench a cui hai eseguito la migrazione.
Le istanze Vertex AI Workbench non supportano tutti i tipi di macchine.
Se il tipo di macchina nell'istanza originale di notebook gestiti dall'utente non è disponibile, viene eseguita la migrazione dell'istanza al tipo di macchina e2-standard-4
.
Soluzione:
Dopo la migrazione, puoi modificare il tipo di macchina dell'istanza Vertex AI Workbench utilizzando il metodo
projects.locations.instances.patch
nell'API Notebooks o il comando
gcloud workbench instances update
in Google Cloud SDK.
Utilizzo dei file
Questa sezione descrive la risoluzione dei problemi relativi ai file per le istanze dei blocchi note gestiti dall'utente.
Download dei file disattivato, ma l'utente può comunque scaricare i file
Problema
Per le istanze di blocchi note gestiti dall'utente di Dataproc Hub, la disattivazione del download di file dall'interfaccia utente di JupyterLab non è supportata. Le istanze di blocchi note gestiti dall'utente che utilizzano il framework Dataproc Hub consentono il download dei file anche se non selezioni Abilita il download di file dall'interfaccia utente di JupyterLab quando crei l'istanza.
Soluzione:
Le istanze di blocchi note gestiti dall'utente di Dataproc Hub non supportano la limitazione dei download di file.
I file scaricati sono troncati o il download non viene completato
Problema
Quando scarichi file dall'istanza di notebook gestiti dall'utente, un'impostazione di timeout nell'agente di inoltro proxy limita il tempo di connessione per il completamento del download. Se il download richiede troppo tempo, il file scaricato potrebbe essere troncato o non essere scaricato.
Soluzione:
Per scaricare il file, copialo in Cloud Storage e poi scaricalo da Cloud Storage.
Valuta la possibilità di eseguire la migrazione dei file e dei dati a una nuova istanza di blocchi note gestiti dall'utente.
Dopo il riavvio della VM, non è possibile fare riferimento ai file locali dal terminale del notebook
Problema
A volte, dopo aver riavviato un'istanza di notebook gestiti dall'utente, non è possibile fare riferimento ai file locali da un terminale del notebook.
Soluzione:
Questo è un problema noto. Per fare riferimento ai file locali da un terminale del notebook, ristabilisci prima la directory di lavoro corrente utilizzando il seguente comando:
cd PWD
In questo comando, sostituisci PWD con la directory di lavoro
corrente. Ad esempio, se la tua directory di lavoro attuale è
/home/jupyter/
, utilizza il comando cd /home/jupyter/
.
Dopo aver ristabilito la directory di lavoro corrente, è possibile fare riferimento ai file locali dal terminale del notebook.
Creazione di istanze di blocchi note gestiti dall'utente
Questa sezione descrive la risoluzione dei problemi relativi alla creazione di istanze di blocchi note gestiti dall'utente.
La quota di GPU è stata superata
Problema
Non puoi creare un'istanza di blocchi note gestiti dall'utente con GPU.
Soluzione:
Determina il numero di GPU disponibili nel progetto controllando la pagina Quote. Se le GPU non sono elencate nella pagina Quote o se hai bisogno di una quota di GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta Richiedere un limite di quota più alto.
L'istanza rimane in stato In attesa a tempo indeterminato
Problema
Dopo aver creato un'istanza di blocchi note gestiti dall'utente, questa rimane nello stato in attesa a tempo indeterminato. Nei log seriali potrebbe essere visualizzato un errore simile al seguente:
Could not resolve host: notebooks.googleapis.com
Soluzione:
L'istanza non può connettersi al server API Notebooks a causa di una configurazione Cloud DNS o di un altro problema di rete. Per risolvere il problema, controlla le configurazioni di Cloud DNS e di rete. Per ulteriori informazioni, consulta la sezione Opzioni di configurazione di rete.
La nuova istanza di blocchi note gestiti dall'utente non viene creata (autorizzazioni insufficienti)
Problema
In genere, la creazione di un'istanza di blocchi note gestiti dall'utente
richiede circa un minuto. Se la nuova istanza di blocchi note gestiti dall'utente rimane nello stato pending
a tempo indeterminato, il motivo potrebbe essere che l'account di servizio utilizzato per avviare l'istanza non dispone delle autorizzazioni richieste nel tuo progetto Google Cloud .
Puoi avviare un'istanza di notebook gestiti dall'utente con un account di servizio personalizzato che crei o in modalità utente singolo con un ID utente. Se avvii un'istanza di notebook gestiti dall'utente in modalità utente singolo, l'istanza di notebook gestiti dall'utente avvia il processo di avvio utilizzando il account di servizio predefinito di Compute Engine prima di cedere il controllo al tuo ID utente.
Soluzione:
Per verificare che un account di servizio disponga delle autorizzazioni appropriate, segui questi passaggi:
Console
Apri la pagina IAM nella console Google Cloud .
Determina il account di servizio utilizzato con l'istanza di blocchi note gestiti dall'utente, che è uno dei seguenti:
Un account di servizio personalizzato che hai specificato quando hai creato l'istanza di blocchi note gestiti dall'utente.
Il account di servizio Compute Engine predefinito per il tuo progettoGoogle Cloud , che viene utilizzato quando avvii l'istanza di notebook gestiti dall'utente in modalità single-user. L'account di servizio Compute Engine predefinito per il tuo progetto Google Cloud si chiama
PROJECT_NUMBER-compute@developer.gserviceaccount.com
. Ad esempio:113377992299-compute@developer.gserviceaccount.com
.
Verifica che il account di servizio disponga del ruolo Notebooks Runner (
roles/notebooks.runner
). In caso contrario, concedi al account di servizio il ruolo Notebooks Runner (roles/notebooks.runner
).
Per saperne di più, consulta l'articolo Concessione, modifica e revoca dell'accesso alle risorse nella documentazione di IAM.
gcloud
Se non l'hai ancora fatto, installa Google Cloud CLI.
Recupera il nome e il numero di progetto del tuo Google Cloud progetto con il seguente comando. Sostituisci PROJECT_ID con l'ID progetto del tuo progettoGoogle Cloud .
gcloud projects describe PROJECT_ID
Dovresti vedere un output simile al seguente, che mostra il nome (
name:
) e il numero di progetto (projectNumber:
) del tuo progetto.createTime: '2018-10-18T21:03:31.408Z' lifecycleState: ACTIVE name: my-project-name parent: id: '396521612403' type: folder projectId: my-project-id-1234 projectNumber: '113377992299'
Determina il account di servizio utilizzato con l'istanza di blocchi note gestiti dall'utente, che è uno dei seguenti:
Un account di servizio personalizzato che hai specificato quando hai creato l'istanza di blocchi note gestiti dall'utente.
Il account di servizio Compute Engine predefinito per il tuo progettoGoogle Cloud , che viene utilizzato quando avvii l'istanza di notebook gestiti dall'utente in modalità single-user. L'account di servizio Compute Engine predefinito per il tuo progetto Google Cloud si chiama
PROJECT_NUMBER-compute@developer.gserviceaccount.com
. Ad esempio:113377992299-compute@developer.gserviceaccount.com
.
Aggiungi il ruolo
roles/notebooks.runner
all'account di servizio con il seguente comando. Sostituisci project-name con il nome del tuo progetto e service-account-id con l'ID account di servizio per l'istanza di notebook gestiti dall'utente.gcloud projects add-iam-policy-binding project-name \ --member serviceAccount:service-account-id \ --role roles/notebooks.runner
La creazione di un'istanza genera un errore Permission denied
Problema
Il account di servizio sull'istanza fornisce l'accesso ad altri Google Cloud
servizi. Puoi utilizzare qualsiasi account di servizio all'interno dello stesso progetto, ma devi disporre dell'autorizzazione Utente service account (iam.serviceAccounts.actAs
) per creare l'istanza. Se non specificato, viene utilizzato il service account Compute Engine predefinito.
Soluzione:
Quando crei un'istanza, verifica che l'utente che la crea disponga dell'autorizzazione
iam.serviceAccounts.ActAs
per il account di servizio definito.
L'esempio seguente mostra come specificare un account di servizio quando crei un'istanza:
gcloud notebooks instances create nb-1 \ --vm-image-family=tf-latest-cpu \ --service-account=your_service_account@project_id.iam.gserviceaccount.com \ --location=us-west1-a
Per concedere il ruolo Utente service account, consulta la pagina Gestire l'accesso ai service account.
La creazione di un'istanza genera un errore already exists
Problema
Quando crei un'istanza, verifica che un'istanza di notebook gestiti dall'utente con lo stesso nome non sia stata eliminata in precedenza da Compute Engine e che esista ancora nel database dell'API Notebooks.
Soluzione:
L'esempio seguente mostra come elencare le istanze utilizzando l'API Notebooks e verificare il loro stato.
gcloud notebooks instances list --location=LOCATION
Se lo stato di un'istanza è DELETED
, esegui il seguente comando per
eliminarla definitivamente.
gcloud notebooks instances delete INSTANCE_NAME --location=LOCATION
Impossibile creare un'istanza in un VPC condiviso
Problema
Non puoi creare un'istanza in un VPC condiviso.
Soluzione:
Se utilizzi VPC condiviso, devi aggiungere
il progetto host e i progetti di servizio al perimetro di servizio. Nel progetto host, devi anche concedere il ruolo Utente di rete Compute (roles/compute.networkUser
) all'agente di servizio Notebooks del progetto di servizio. Per saperne di più, consulta Gestione dei perimetri di servizio.
La creazione di un'istanza genera un errore di disponibilità delle risorse
Problema
Non puoi creare un'istanza a causa di un errore di disponibilità delle risorse.
Questo errore può avere il seguente aspetto:
Creating notebook INSTANCE_NAME: ZONE does not have enough resources available to fulfill the request. Retry later or try another zone in your configurations.
Gli errori delle risorse si verificano quando richiedi nuove risorse in una zona che non può soddisfare la tua richiesta a causa dell'attuale non disponibilità di risorse di Compute Engine, ad esempio GPU o CPU.
Gli errori delle risorse si applicano solo alle nuove richieste di risorse nella zona e non influiscono sulle risorse esistenti. Gli errori delle risorse non sono correlati alla quota di Compute Engine. Gli errori di risorse sono temporanei e possono cambiare di frequente in base alle fluttuazioni della domanda.
Soluzione:
Per procedere, puoi provare quanto segue:
- Crea un'istanza con un tipo di macchina diverso.
- Crea l'istanza in una zona diversa.
- Riprova a inviare la richiesta più tardi.
- Riduci la quantità di risorse che stai richiedendo. Ad esempio, prova a creare un'istanza con meno GPU, dischi, vCPU o memoria.
L'avvio di un'istanza genera un errore di disponibilità delle risorse
Problema
Non puoi avviare un'istanza a causa di un errore di disponibilità delle risorse.
Questo errore può avere il seguente aspetto:
The zone ZONE_NAME doesn't have enough resources available to fulfill the request. '(resource type:compute)'.
Gli errori delle risorse si verificano quando provi ad avviare un'istanza in una zona che non può soddisfare la tua richiesta a causa dell'attuale non disponibilità di risorse di Compute Engine, ad esempio GPU o CPU.
Gli errori delle risorse si applicano solo alle risorse specificate nella richiesta al momento dell'invio, non a tutte le risorse della zona. Gli errori delle risorse non sono correlati alla quota di Compute Engine. Gli errori delle risorse sono temporanei e possono cambiare frequentemente in base alle fluttuazioni della domanda.
Soluzione:
Per procedere, puoi provare quanto segue:
- Modifica il tipo di macchina dell'istanza.
- Esegui la migrazione dei file e dei dati a un'istanza in una zona diversa.
- Riprova a inviare la richiesta più tardi.
- Riduci la quantità di risorse che stai richiedendo. Ad esempio, avvia un'altra istanza con meno GPU, dischi, vCPU o memoria.
Eseguire l'upgrade delle istanze di blocchi note gestiti dall'utente
Questa sezione descrive la risoluzione dei problemi relativi all'upgrade delle istanze di blocchi note gestiti dall'utente.
Impossibile eseguire l'upgrade perché non è possibile ottenere le informazioni sul disco dell'istanza
Problema
L'upgrade non è supportato per le istanze di blocchi note gestiti dall'utente con un singolo disco.
Soluzione:
Potresti voler eseguire la migrazione dei dati utente a una nuova istanza di notebook gestiti dagli utenti.
Impossibile eseguire l'upgrade perché l'istanza non è compatibile con UEFI
Problema
Per completare un upgrade, Vertex AI Workbench dipende dalla compatibilità UEFI.
Le istanze di blocchi note gestiti dall'utente create da alcune immagini precedenti non sono compatibili con UEFI e pertanto non possono essere aggiornate.
Soluzione:
Per verificare che l'istanza sia compatibile con UEFI, digita il comando seguente in Cloud Shell o in qualsiasi ambiente in cui è installata Google Cloud CLI.
gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE | grep type
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanzaZONE
: la zona in cui si trova l'istanza
Per verificare che l'immagine utilizzata per creare l'istanza sia compatibile con UEFI, utilizza il seguente comando:
gcloud compute images describe VM_IMAGE_FAMILY \ --project deeplearning-platform-release | grep type
Sostituisci VM_IMAGE_FAMILY
con il nome della famiglia
di immagini che hai utilizzato per creare l'istanza.
Se determini che la tua istanza o la tua immagine non è compatibile con UEFI, puoi tentare di eseguire la migrazione dei dati utente a una nuova istanza di blocchi note gestiti dall'utente. Per farlo, segui questa procedura.
Verifica che l'immagine che vuoi utilizzare per creare la nuova istanza sia compatibile con UEFI. Per farlo, digita il comando seguente in Cloud Shell o in qualsiasi ambiente in cui è installata Google Cloud CLI.
gcloud compute images describe VM_IMAGE_FAMILY \ --project deeplearning-platform-release --format=json | grep type
Sostituisci
VM_IMAGE_FAMILY
con il nome della famiglia di immagini che vuoi utilizzare per creare l'istanza.Esegui la migrazione dei dati utente a una nuova istanza di notebook gestiti dall'utente.
L'istanza di blocchi note gestiti dall'utente non è accessibile dopo l'upgrade
Problema
Se l'istanza di notebook gestiti dall'utente non è accessibile dopo un upgrade, potrebbe essersi verificato un errore durante la sostituzione dell'immagine del disco di avvio.
Le istanze di notebook gestiti dall'utente che possono essere aggiornate sono a doppio disco, con un disco di avvio e un disco di dati. Il processo di upgrade esegue l'upgrade del disco di avvio a una nuova immagine conservando i dati sul disco di dati.
Soluzione:
Completa i seguenti passaggi per collegare una nuova immagine valida al disco di avvio.
Per memorizzare i valori che utilizzerai per completare questa procedura, digita il comando seguente in Cloud Shell o in qualsiasi ambiente in cui è installata Google Cloud CLI.
export INSTANCE_NAME=MY_INSTANCE_NAME export PROJECT_ID=MY_PROJECT_ID export ZONE=MY_ZONE
Sostituisci quanto segue:
MY_INSTANCE_NAME
: il nome dell'istanzaMY_PROJECT_ID
: il tuo ID progettoMY_ZONE
: la zona in cui si trova l'istanza
Utilizza il seguente comando per arrestare l'istanza:
gcloud compute instances stop $INSTANCE_NAME \ --project=$PROJECT_ID --zone=$ZONE
Scollega il disco di dati dall'istanza.
gcloud compute instances detach-disk $INSTANCE_NAME --device-name=data \ --project=$PROJECT_ID --zone=$ZONE
Elimina la VM dell'istanza.
gcloud compute instances delete $INSTANCE_NAME --keep-disks=all --quiet \ --project=$PROJECT_ID --zone=$ZONE
Utilizza l'API Notebooks per eliminare l'istanza di notebook gestiti dall'utente.
gcloud notebooks instances delete $INSTANCE_NAME \ --project=$PROJECT_ID --location=$ZONE
Crea un'istanza di blocchi note gestiti dall'utente utilizzando lo stesso nome dell'istanza precedente.
gcloud notebooks instances create $INSTANCE_NAME \ --vm-image-project="deeplearning-platform-release" \ --vm-image-family=MY_VM_IMAGE_FAMILY \ --instance-owners=MY_INSTANCE_OWNER \ --machine-type=MY_MACHINE_TYPE \ --service-account=MY_SERVICE_ACCOUNT \ --accelerator-type=MY_ACCELERATOR_TYPE \ --accelerator-core-count=MY_ACCELERATOR_CORE_COUNT \ --install-gpu-driver \ --project=$PROJECT_ID \ --location=$ZONE
Sostituisci quanto segue:
MY_VM_IMAGE_FAMILY
: il nome della famiglia di immaginiMY_INSTANCE_OWNER
: il proprietario dell'istanzaMY_MACHINE_TYPE
: il tipo di macchina della VM della tua istanzaMY_SERVICE_ACCOUNT
: il account di servizio da utilizzare con questa istanza oppure utilizza"default"
MY_ACCELERATOR_TYPE
: il tipo di acceleratore; ad esempio,"NVIDIA_TESLA_T4"
MY_ACCELERATOR_CORE_COUNT
: il numero di core; ad esempio,1
Monitoraggio dello stato di integrità delle istanze di blocchi note gestiti dall'utente
Questa sezione descrive come risolvere i problemi relativi agli errori di monitoraggio dello stato di integrità.
docker-proxy-agent
stato non riuscito
Segui questi passaggi dopo un errore di stato docker-proxy-agent
:
Verifica che l'agente Inverting Proxy sia in esecuzione. In caso contrario, vai al passaggio 3.
Esegui nuovamente la registrazione con il server Inverting Proxy.
docker-service
stato non riuscito
Segui questi passaggi dopo un errore di stato docker-service
:
jupyter-service
stato non riuscito
Segui questi passaggi dopo un errore di stato jupyter-service
:
jupyter-api
stato non riuscito
Segui questi passaggi dopo un errore di stato jupyter-api
:
Percentuale di utilizzo del disco di avvio
Lo stato dello spazio sul disco di avvio non è integro se lo spazio su disco occupato è maggiore dell'85%.
Se lo stato dello spazio sul disco di avvio non è integro, prova a procedere nel seguente modo:
Da una sessione del terminale nell'istanza dei blocchi note gestiti dall'utente o utilizzando SSH per connetterti, controlla la quantità di spazio libero su disco utilizzando il comando
df -H
.Utilizza il comando
find . -type d -size +100M
per trovare i file di grandi dimensioni che potresti eliminare, ma non farlo a meno che tu non sia sicuro di poterlo fare in sicurezza. Se non sei sicuro, puoi richiedere assistenza.Se i passaggi precedenti non risolvono il problema, richiedi assistenza.
Percentuale di utilizzo disco dati
Lo stato dello spazio sul disco dati non è integro se lo spazio sul disco occupato è maggiore dell'85%.
Se lo stato dello spazio sul disco dati non è integro, prova a procedere nel seguente modo:
Da una sessione del terminale nell'istanza dei blocchi note gestiti dall'utente o utilizzando SSH per connetterti, controlla la quantità di spazio libero su disco utilizzando il comando
df -h -T /home/jupyter
.Elimina i file di grandi dimensioni per aumentare lo spazio disponibile su disco. Utilizza il comando
find . -type d -size +100M
per trovare i file di grandi dimensioni.Se i passaggi precedenti non risolvono il problema, richiedi assistenza.
Impossibile installare l'estensione JupyterLab di terze parti
Problema
Il tentativo di installare un'estensione JupyterLab di terze parti genera un messaggio
Error: 500
.
Soluzione:
Le estensioni JupyterLab di terze parti non sono supportate nelle istanze di blocchi note gestiti dall'utente.
Ripristina istanza
Problema
Il ripristino di un'istanza di blocchi note gestiti dall'utente dopo l'eliminazione non è supportato.
Soluzione:
Per eseguire il backup dei dati sull'istanza, puoi salvare i blocchi note su GitHub o creare uno snapshot del disco.
Recuperare i dati da un'istanza
Problema
Il recupero dei dati da un'istanza di blocchi note gestita dall'utente dopo l'eliminazione non è supportato.
Soluzione:
Per eseguire il backup dei dati sull'istanza, puoi salvare i notebook su GitHub o creare uno snapshot del disco.
Impossibile aumentare la memoria condivisa
Problema
Non puoi aumentare la memoria condivisa su un'istanza di blocchi note gestiti dall'utente esistente.
Soluzione:
Tuttavia, puoi specificare una dimensione della memoria condivisa quando crei un'istanza di blocchi note gestiti dall'utente utilizzando la chiave di metadati container-custom-params
, con un valore simile al seguente:
--shm-size=SHARED_MEMORY_SIZE gb
Sostituisci SHARED_MEMORY_SIZE
con le dimensioni che vuoi
in GB.
Procedure utili
Questa sezione descrive le procedure che potresti trovare utili.
Utilizzare SSH per connettersi all'istanza di blocchi note gestiti dall'utente
Utilizza ssh per connetterti all'istanza digitando il seguente comando in Cloud Shell o in qualsiasi ambiente in cui è installata Google Cloud CLI.
gcloud compute ssh --project PROJECT_ID \
--zone ZONE \
INSTANCE_NAME -- -L 8080:localhost:8080
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la Google Cloud zona in cui si trova l'istanzaINSTANCE_NAME
: il nome dell'istanza
Puoi anche connetterti all'istanza aprendo la pagina dei dettagli di Compute Engine e facendo clic sul pulsante SSH.
Esegui nuovamente la registrazione con il server Inverting Proxy
Per registrare nuovamente l'istanza di blocchi note gestiti dall'utente con il server proxy inverso interno, puoi arrestare e avviare la VM dalla pagina Blocchi note gestiti dall'utente oppure puoi utilizzare SSH per connetterti all'istanza di blocchi note gestiti dall'utente e inserire:
cd /opt/deeplearning/bin sudo ./attempt-register-vm-on-proxy.sh
Verifica lo stato del servizio Docker
Per verificare lo stato del servizio Docker, puoi utilizzare SSH per connetterti all'istanza di notebook gestiti dall'utente e inserire:
sudo service docker status
Verifica che l'agente Inverting Proxy sia in esecuzione
Per verificare se l'agente Inverting Proxy del notebook è in esecuzione, utilizza SSH per connetterti all'istanza di notebook gestiti dall'utente e inserisci:
# Confirm Inverting Proxy agent Docker container is running (proxy-agent) sudo docker ps # Verify State.Status is running and State.Running is true. sudo docker inspect proxy-agent # Grab logs sudo docker logs proxy-agent
Verifica lo stato del servizio Jupyter e raccogli i log
Per verificare lo stato del servizio Jupyter, puoi utilizzare SSH per connetterti all'istanza di blocchi note gestiti dall'utente e inserire:
sudo service jupyter status
Per raccogliere i log del servizio Jupyter:
sudo journalctl -u jupyter.service --no-pager
Verifica che l'API interna Jupyter sia attiva
L'API Jupyter deve essere sempre eseguita sulla porta 8080. Puoi verificarlo controllando i syslogs dell'istanza per una voce simile a:
Jupyter Server ... running at: http://localhost:8080
Per verificare che l'API Jupyter interna sia attiva, puoi anche utilizzare SSH per connetterti all'istanza di blocchi note gestiti dall'utente e inserire:
curl http://127.0.0.1:8080/api/kernelspecs
Puoi anche misurare il tempo necessario all'API per rispondere nel caso in cui le richieste richiedano troppo tempo:
time curl -V http://127.0.0.1:8080/api/status
time curl -V http://127.0.0.1:8080/api/kernels
time curl -V http://127.0.0.1:8080/api/connections
Per eseguire questi comandi nell'istanza Vertex AI Workbench, apri JupyterLab e crea un nuovo terminale.
Riavvia il servizio Docker
Per riavviare il servizio Docker, puoi arrestare e avviare la VM dalla pagina Notebook gestiti dall'utente oppure puoi utilizzare SSH per connetterti all'istanza di notebook gestiti dall'utente e inserire:
sudo service docker restart
Riavvia l'agente Inverting Proxy
Per riavviare l'agente proxy inverso, puoi arrestare e avviare la VM dalla pagina User-managed notebooks oppure puoi utilizzare SSH per connetterti all'istanza User-managed notebooks e inserire:
sudo docker restart proxy-agent
Riavvia il servizio Jupyter
Per riavviare il servizio Jupyter, puoi arrestare e avviare la VM dalla pagina Blocchi note gestiti dall'utente oppure puoi utilizzare SSH per connetterti all'istanza di blocchi note gestiti dall'utente e inserire:
sudo service jupyter restart
Riavvia l'agente di raccolta dei notebook
Il servizio Notebooks Collection Agent esegue un processo Python in background che verifica lo stato dei servizi principali dell'istanza Vertex AI Workbench.
Per riavviare il servizio dell'agente di raccolta dei notebook, puoi arrestare e avviare la VM dalla console oppure puoi utilizzare SSH per connetterti all'istanza Vertex AI Workbench e inserire:Google Cloud
sudo systemctl stop notebooks-collection-agent.service
seguito da:
sudo systemctl start notebooks-collection-agent.service
Per eseguire questi comandi nell'istanza Vertex AI Workbench, apri JupyterLab e crea un nuovo terminale.
Modifica lo script dell'agente di raccolta dei notebook
Per accedere allo script e modificarlo, apri un terminale nella nostra istanza o utilizza SSH per connetterti all'istanza di Vertex AI Workbench e inserisci:
nano /opt/deeplearning/bin/notebooks_collection_agent.py
Dopo aver modificato il file, ricordati di salvarlo.
Dopodiché, devi riavviare il servizio dell'agente di raccolta dei blocchi note.
Verifica che l'istanza possa risolvere i domini DNS richiesti
Per verificare che l'istanza possa risolvere i domini DNS richiesti, puoi utilizzare SSH per connetterti all'istanza di blocchi note gestiti dall'utente e inserire:
host notebooks.googleapis.com
host *.notebooks.cloud.google.com
host *.notebooks.googleusercontent.com
host *.kernels.googleusercontent.com
oppure:
curl --silent --output /dev/null "https://notebooks.cloud.google.com"; echo $?
Se l'istanza ha Dataproc abilitato, puoi verificare che l'istanza
risolva *.kernels.googleusercontent.com
eseguendo:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://${PROJECT_NUMBER}-dot-${REGION}.kernels.googleusercontent.com/api/kernelspecs | jq .
Per eseguire questi comandi nell'istanza Vertex AI Workbench, apri JupyterLab e crea un nuovo terminale.
Crea una copia dei dati utente su un'istanza
Per archiviare una copia dei dati utente di un'istanza in Cloud Storage, completa i seguenti passaggi.
(Facoltativo) Crea un bucket Cloud Storage
Nello stesso progetto in cui si trova l'istanza, crea un bucket Cloud Storage in cui archiviare i dati utente. Se hai già un bucket Cloud Storage, salta questo passaggio.
-
Create a Cloud Storage bucket:
Replacegcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAME
with a bucket name that meets the bucket naming requirements.Copia i dati utente
Nell'interfaccia JupyterLab della tua istanza, seleziona File > Nuovo > Terminale per aprire una finestra del terminale. Per le istanze di notebook gestiti dall'utente, puoi invece connetterti al terminale dell'istanza utilizzando SSH.
Utilizza gcloud CLI per copiare i dati utente in un bucket Cloud Storage. Il seguente comando di esempio copia tutti i file dalla directory
/home/jupyter/
dell'istanza in una directory di un bucket Cloud Storage.gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive
Sostituisci quanto segue:
BUCKET_NAME
: il nome del bucket Cloud StoragePATH
: il percorso della directory in cui vuoi copiare i file, ad esempio:/copy/jupyter/
Analizza un'istanza bloccata nel provisioning utilizzando gcpdiag
gcpdiag
è uno strumento open source. Non è un prodotto Google Cloud supportato ufficialmente. Puoi utilizzare lo strumentogcpdiag
per identificare e risolvere Google Cloud i problemi del progetto. Per maggiori informazioni, consulta il progetto gcpdiag su GitHub.Questogcpdiag
runbook esamina le potenziali cause per cui un'istanza di Vertex AI Workbench rimane bloccata nello stato di provisioning, tra cui le seguenti aree:- Stato: controlla lo stato attuale dell'istanza per assicurarsi che sia bloccata nel provisioning e non arrestata o attiva.
- Immagine disco di avvio della VM Compute Engine dell'istanza:
Verifica se l'istanza è stata creata con un container personalizzato, un'immagine
workbench-instances
ufficiale, Deep Learning VM Images o immagini non supportate che potrebbero causare il blocco dell'istanza nello stato di provisioning. - Script personalizzati: controlla se l'istanza utilizza script di avvio o post-avvio personalizzati che modificano la porta Jupyter predefinita o interrompono le dipendenze che potrebbero causare il blocco dell'istanza nello stato di provisioning.
- Versione dell'ambiente: verifica se l'istanza utilizza l'ultima versione dell'ambiente controllando la sua possibilità di upgrade. Le versioni precedenti potrebbero causare il blocco dell'istanza nello stato di provisioning.
- Prestazioni della VM Compute Engine dell'istanza: Controlla le prestazioni attuali della VM per assicurarsi che non siano compromesse da un elevato utilizzo della CPU, memoria insufficiente o problemi di spazio su disco che potrebbero interrompere le normali operazioni.
- Porta seriale di Compute Engine o
logging di sistema dell'istanza: controlla se l'istanza ha
log della porta seriale, che vengono analizzati per
assicurarsi che Jupyter sia in esecuzione sulla porta
127.0.0.1:8080
. - Accesso SSH e al terminale di Compute Engine dell'istanza: verifica se la VM Compute Engine dell'istanza è in esecuzione in modo che l'utente possa utilizzare SSH e aprire un terminale per verificare che l'utilizzo dello spazio in "home/jupyter" sia inferiore all'85%. Se non è rimasto spazio, l'istanza potrebbe bloccarsi nello stato di provisioning.
- IP esterno disattivato: verifica se l'accesso all'IP esterno è disattivato. Una configurazione di rete errata può causare il blocco dell'istanza nello stato di provisioning.
Google Cloud console
- Completa e copia il seguente comando.
- Apri la console Google Cloud e attiva Cloud Shell. Apri Cloud Console
- Incolla il comando copiato.
- Esegui il comando
gcpdiag
, che scarica l'immagine Dockergcpdiag
e poi esegue i controlli diagnostici. Se applicabile, segui le istruzioni di output per correggere i controlli non riusciti.
gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \ --parameter project_id=PROJECT_ID \ --parameter instance_name=INSTANCE_NAME \ --parameter zone=ZONE
Docker
Puoi eseguire
gcpdiag
utilizzando un wrapper che avviagcpdiag
in un container Docker. È necessario installare Docker o Podman.- Copia ed esegui il seguente comando sulla tua workstation locale.
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Esegui il comando
gcpdiag
../gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \ --parameter project_id=PROJECT_ID \ --parameter instance_name=INSTANCE_NAME \ --parameter zone=ZONE
Visualizza i parametri disponibili per questo runbook.
Sostituisci quanto segue:
- PROJECT_ID: l'ID del progetto contenente la risorsa.
- INSTANCE_NAME: il nome dell'istanza di Vertex AI Workbench di destinazione all'interno del progetto.
- ZONE: la zona in cui si trova l'istanza di Vertex AI Workbench di destinazione.
Flag utili:
--universe-domain
: se applicabile, il dominio Trusted Partner Sovereign Cloud che ospita la risorsa--parameter
o-p
: parametri del runbook
Per un elenco e una descrizione di tutti i flag dello strumento
gcpdiag
, consulta le istruzioni per l'utilizzo digcpdiag
.Errori di autorizzazione durante l'utilizzo dei ruoli dell'account di servizio con Vertex AI
Problema
Quando utilizzi i ruoli del account di servizio con Vertex AI, si verificano errori di autorizzazione generali.
Questi errori possono essere visualizzati in Cloud Logging nei log dei componenti del prodotto o nei log di controllo. Potrebbero anche essere visualizzati in qualsiasi combinazione dei progetti interessati.
Questi problemi possono essere causati da uno o entrambi i seguenti motivi:
Utilizzo del ruolo
Service Account Token Creator
quando avrebbe dovuto essere utilizzato il ruoloService Account User
o viceversa. Questi ruoli concedono autorizzazioni diverse su un account di servizio e non sono intercambiabili. Per scoprire le differenze tra i ruoliService Account Token Creator
eService Account User
, consulta Ruoli degli account di servizio.Hai concesso a un account di servizio autorizzazioni per più progetti, il che non è consentito per impostazione predefinita.
Soluzione:
Per risolvere il problema, prova una o più delle seguenti soluzioni:
Determina se è necessario il ruolo
Service Account Token Creator
oService Account User
. Per saperne di più, leggi la documentazione di IAM per i servizi Vertex AI che utilizzi, nonché per qualsiasi altra integrazione di prodotto che utilizzi.Se hai concesso a un account di servizio autorizzazioni per più progetti, consenti l'allegato dei service account a più progetti assicurandoti che
iam.disableCrossProjectServiceAccountUsage
. non è applicata in modo forzato. Per assicurarti cheiam.disableCrossProjectServiceAccountUsage
non sia applicato, esegui questo comando:gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project=PROJECT_ID