Creazione di un'istanza utilizzando un container personalizzato

Questa pagina descrive come creare un'istanza di Vertex AI Workbench basata su un container personalizzato.

Panoramica

Le istanze Vertex AI Workbench supportano l'utilizzo di un contenitore personalizzato derivato da un contenitore di base fornito da Google. Puoi modificare questo container di base per creare un'immagine container personalizzata e utilizzare questo container personalizzato per Vertex AI Workbench.

Il container di base è configurato con un valore Container-Optimized Sistema operativo nell'host di una macchina virtuale (VM). Il container di base fornisce data science preinstallate pacchi e configurazioni specifiche che consentono all'istanza di integrare con Google Cloud.

Il contenitore di base si trova in gcr.io/deeplearning-platform-release/workbench-container:latest.

Limitazioni

Tieni presenti le seguenti limitazioni quando pianifichi il tuo progetto:

  • Il contenitore personalizzato deve derivare dal contenitore di base fornito da Google (gcr.io/deeplearning-platform-release/workbench-container:latest). L'utilizzo di un contenitore non derivato dal contenitore di base non è supportato e aumenta i rischi di problemi di compatibilità con i nostri servizi.

  • L'utilizzo di più di un contenitore con un'istanza di Vertex AI Workbench non è supportato.

  • Metadati supportati per i container personalizzati da i blocchi note gestiti dall'utente e gestiti possono avere un comportamento diverso quando usato con le istanze di Vertex AI Workbench.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Ruoli obbligatori

Per assicurarti che il tuo account utente disponga delle autorizzazioni necessarie per creare un'istanza di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente il ruolo IAM Notebooks Runner (roles/notebooks.runner) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche assegnare al tuo account utente le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Creazione di un container personalizzato

Per creare un contenitore personalizzato da utilizzare con le istanze di Vertex AI Workbench:

  1. Crea un container derivato derivato da Immagine container di base fornita da Google (gcr.io/deeplearning-platform-release/workbench-container:latest).

  2. Crea ed esegui il push del container in Artifact Registry. Utilizzerai il metodo URI quando crei la tua istanza di Vertex AI Workbench. Ad esempio, l'URI potrebbe avere il seguente aspetto: gcr.io/PROJECT_ID/IMAGE_NAME.

Crea l'istanza

Puoi creare un'istanza di Vertex AI Workbench basata su un container personalizzato utilizzando la console Google Cloud o Google Cloud CLI.

Console

Per creare un'istanza di Vertex AI Workbench basata su un contenitore personalizzato, procedi nel seguente modo:

  1. Nella console Google Cloud, vai alla pagina Istanze.

    Vai a Istanze

  2. Fai clic su  Crea nuovo.

  3. Nella finestra di dialogo Nuova istanza, fai clic su Opzioni avanzate.

  4. Nella finestra di dialogo Crea istanza, nella sezione Ambiente, Seleziona Utilizza container personalizzato.

  5. Per Immagine container Docker, fai clic su Seleziona.

  6. Nella finestra di dialogo Seleziona immagine container, vai all'immagine del container che vuoi utilizzare e fai clic su Seleziona.

  7. Facoltativo. Per Script post-avvio, inserisci il percorso di uno script post-avvio che vuoi utilizzare.

  8. Completa il resto della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.

    Vertex AI Workbench crea un'istanza e la avvia automaticamente. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza di Vertex AI Workbench; deve iniziare con una lettera seguita da un massimo di 62 lettere minuscole, numeri o trattini (-) e non può terminare con un trattino
  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui vuoi che si trovi l'istanza
  • CUSTOM_CONTAINER_PATH: il percorso del repository delle immagini container, ad esempio: gcr.io/PROJECT_ID/IMAGE_NAME
  • METADATA: metadati personalizzati da applicare a questa istanza. Ad esempio, per specificare uno script post-avvio, puoi utilizzare il tag dei metadati post-startup-script nel formato: "--metadata=post-startup-script=gs://BUCKET_NAME/hello.sh"

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --container-repository=CUSTOM_CONTAINER_URL \
    --container-tag=latest \
    --metadata=METADATA

Windows (PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --container-repository=CUSTOM_CONTAINER_URL `
    --container-tag=latest `
    --metadata=METADATA

Windows (cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --container-repository=CUSTOM_CONTAINER_URL ^
    --container-tag=latest ^
    --metadata=METADATA

Per ulteriori informazioni sul comando per la creazione di un'istanza dalla riga di comando, consulta la documentazione della riga di comando gcloud.

Vertex AI Workbench crea un'istanza e la avvia automaticamente. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab nella console Google Cloud.

Esempio di installazione: container personalizzato con un kernel predefinito personalizzato

L'esempio seguente mostra come creare un nuovo kernel con un pacchetto pip sono preinstallate.

  1. Crea un nuovo contenitore personalizzato:

    FROM gcr.io/deeplearning-platform-release/workbench-container:latest
    
    ENV MAMBA_ROOT_PREFIX=/opt/micromamba
    
    RUN micromamba create -n ENVIRONMENT_NAME -c conda-forge python=PYTHON_VERSION -y
    
    SHELL ["micromamba", "run", "-n", "ENVIRONMENT_NAME", "/bin/bash", "-c"]
    
    RUN micromamba install -c conda-forge pip -y
    RUN pip install PACKAGE
    RUN pip install ipykernel
    RUN python -m ipykernel install --prefix /opt/micromamba/envs/ENVIRONMENT_NAME --name ENVIRONMENT_NAME --display-name KERNEL_NAME
  2. Aggiungi il nuovo contenitore ad Artifact Registry:

    gcloud auth configure-docker REGION-docker.pkg.dev
    docker build -t REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/IMAGE_NAME .
    docker push REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/IMAGE_NAME:latest
  3. Crea un'istanza:

    gcloud workbench instances create INSTANCE_NAME  \
        --project=PROJECT_ID \
        --location=ZONE \
        --container-repository=REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME \
        --container-tag=latest

Accedi all'istanza

Puoi accedere all'istanza tramite un URL del proxy.

Dopo che l'istanza è stata creata ed è attiva, puoi ottenere utilizzando gcloud CLI.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza Vertex AI Workbench
  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui si trova l'istanza

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud workbench instances describe INSTANCE_NAME \
--project=PROJECT_ID \
--location=LOCATION | grep proxy-url

Windows (PowerShell)

gcloud workbench instances describe INSTANCE_NAME `
--project=PROJECT_ID `
--location=LOCATION | grep proxy-url

Windows (cmd.exe)

gcloud workbench instances describe INSTANCE_NAME ^
--project=PROJECT_ID ^
--location=LOCATION | grep proxy-url
proxy-url: 7109d1b0d5f850f-dot-datalab-vm-staging.googleusercontent.com

Il comando describe restituisce l'URL del proxy. Per accedere all'istanza, apri l'URL proxy in un browser web.

Per ulteriori informazioni sul comando per descrivere dalla riga di comando, consulta gcloud CLI documentazione.