Crea un'istanza di blocchi note gestiti con un container personalizzato

Questa pagina mostra come aggiungere un container personalizzato a un'istanza di blocchi note gestiti di Vertex AI Workbench come kernel su cui puoi eseguire i file del blocco note.

Panoramica

Puoi aggiungere un container personalizzato da utilizzare con la tua istanza di blocchi note gestiti. Il container personalizzato è quindi disponibile come kernel locale su cui puoi eseguire il file del blocco note.

Requisiti per i container personalizzati

Vertex AI Workbench gestito Notebooks supporta tutte le attuali immagini container Deep Learning Containers.

Per creare un'immagine container personalizzata, puoi modificare una delle immagini container di Deep Learning Containers per creare un'immagine container derivata.

Per creare un'immagine container personalizzata da zero, assicurati che l'immagine container soddisfi i seguenti requisiti:

  • Usa un'immagine container Docker con almeno una specifica kernel Jupyter valida. Questa specifica del kernel esposto consente ai blocchi note gestiti di Vertex AI Workbench di caricare l'immagine container come kernel. Se l'immagine container include un'installazione di JupyterLab o Jupyter Notebook, l'installazione includerà la kernelspec per impostazione predefinita. Se l'immagine container non ha kernelspec, puoi installare direttamente kernelspec.

  • L'immagine container Docker deve supportare sleep infinity.

  • Per utilizzare il container personalizzato con l'esecutore di blocchi note gestiti, assicurati che il container personalizzato abbia l'estensione nbexecutor.

Il testo Dockerfile di esempio seguente crea un'immagine Docker personalizzata da zero basata su un'immagine Ubuntu e include la versione più recente di Python.

FROM --platform=linux/amd64 ubuntu:22.04

RUN apt-get -y update
RUN apt-get install -y --no-install-recommends \
python3-pip \
pipx \
git \
make \
jq

RUN pip install \
argcomplete>=1.9.4 \
poetry==1.1.14 \
jupyterlab==3.3.0

# Create a link that points to the right python bin directory
RUN ln -s /usr/bin/pythonVERSION_NUMBER /usr/bin/python

Sostituisci VERSION_NUMBER con la versione di Python che stai utilizzando.

Come un container personalizzato diventa un kernel nei blocchi note gestiti

Per ogni immagine container personalizzata fornita, l'istanza di blocchi note gestiti identifica la specifica del kernel Jupyter disponibile nell'immagine container all'avvio dell'istanza. kernelspec appare come kernel locale nell'interfaccia JupyterLab. Quando è selezionata la kernelspec, il gestore del kernel dei blocchi note gestiti esegue il container personalizzato come kernel e avvia una sessione Jupyter su quel kernel.

Come vengono aggiornati i kernel dei container personalizzati

Vertex AI Workbench esegue il pull dell'immagine container più recente per il tuo kernel:

  • Quando crei l'istanza.

  • Quando esegui l'upgrade dell'istanza.

  • All'avvio dell'istanza.

Il kernel del container personalizzato non viene mantenuto quando l'istanza viene arrestata. Di conseguenza, a ogni avvio dell'istanza, Vertex AI Workbench estrae la versione più recente dell'immagine del container.

Se la tua istanza è in esecuzione quando viene rilasciata una nuova versione di un container, il kernel dell'istanza non viene aggiornato finché non arresti e avvii l'istanza.

Disponibilità delle immagini container personalizzate

Le immagini container di Deep Learning Containers sono disponibili per tutti gli utenti. Quando utilizzi un'immagine container di Deep Learning Containers, devi concedere ruoli specifici all'account di servizio dell'istanza in modo che possa caricare l'immagine container di Deep Learning Containers come kernel. Scopri di più sulle autorizzazioni richieste e su come concederle nella sezione Autorizzazioni.

Se vuoi utilizzare la tua immagine container personalizzata, questa deve trovarsi in Artifact Registry e l'immagine container deve essere disponibile pubblicamente.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Notebooks and Artifact Registry.

    Abilita le API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Abilita le API Notebooks and Artifact Registry.

    Abilita le API

Aggiungi un container personalizzato durante la creazione di un'istanza

Per aggiungere un container personalizzato a un'istanza di blocchi note gestiti, l'immagine del container personalizzata deve essere specificata al momento della creazione dell'istanza.

Per aggiungere un container personalizzato durante la creazione di un'istanza di blocchi note gestiti,

  1. Nella console Google Cloud, vai alla pagina Blocchi note gestiti.

    Vai ai blocchi note gestiti

  2. Fai clic su  Crea nuovo.

  3. Nel campo Nome, inserisci un nome per l'istanza.

  4. Fai clic sull'elenco Regione e seleziona una regione per l'istanza.

  5. Nella sezione Ambiente, seleziona Fornisci immagini Docker personalizzate.

  6. Aggiungi un'immagine container Docker in uno dei seguenti modi:

    • Inserisci un percorso per l'immagine del container Docker. Ad esempio, per utilizzare un'immagine container TensorFlow 2.12 con acceleratori di Deep Learning Containers, inserisci us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-cpu.2-12.py310.
    • Fai clic su Seleziona per aggiungere un'immagine container Docker da Artifact Registry. Quindi, nella scheda Artifact Registry in cui è archiviata l'immagine container, cambia il progetto nel progetto che include l'immagine container e seleziona l'immagine container.
  7. Completa il resto della finestra di dialogo Crea istanza in base alle tue esigenze.

  8. Fai clic su Crea.

  9. Vertex AI Workbench avvia automaticamente l'istanza. Quando l'istanza è pronta per essere utilizzata, Vertex AI Workbench attiva un link Apri JupyterLab.

Concedi le autorizzazioni per le immagini container di Deep Learning Containers

Se non utilizzi un'immagine container di Deep Learning Containers, salta questa sezione.

Per assicurarti che l'account di servizio della tua istanza disponga delle autorizzazioni necessarie per caricare un'immagine container di Deep Learning Containers da Artifact Registry, chiedi all'amministratore di concedere all'account di servizio dell'istanza i seguenti ruoli IAM sull'istanza:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

L'amministratore potrebbe anche essere in grado di concedere all'account di servizio dell'istanza le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Configura un file di blocco note da eseguire nel container personalizzato

Per aprire JupyterLab, creare un nuovo file blocco note e configurarlo affinché venga eseguito sul kernel del tuo container personalizzato, completa i seguenti passaggi.

  1. Fai clic su Apri JupyterLab accanto al nome dell'istanza di blocchi note gestiti.

  2. Nella finestra di dialogo Autentica il blocco note gestito, fai clic sul pulsante per ricevere un codice di autenticazione.

  3. Scegli un account e fai clic su Consenti. Copia il codice di autenticazione.

  4. Nella finestra di dialogo Autentica il blocco note gestito, incolla il codice di autenticazione e fai clic su Autentica.

    L'istanza di blocco note gestita apre JupyterLab.

  5. Seleziona File > Nuovo > Blocco note.

  6. Nella finestra di dialogo Seleziona kernel, seleziona il kernel per l'immagine del container personalizzata che vuoi utilizzare, quindi fai clic su Seleziona. La visualizzazione come kernel delle immagini container più grandi potrebbe richiedere del tempo. Se il kernel desiderato non è ancora presente, riprova tra qualche minuto. Puoi cambiare il kernel ogni volta che vuoi eseguire il file del blocco note su un kernel diverso.

    Si apre il nuovo file del blocco note.

Passaggi successivi