Créer une instance à l'aide d'un conteneur personnalisé

Cette page explique comment créer une instance Vertex AI Workbench basée sur un conteneur personnalisé.

Présentation

Les instances Vertex AI Workbench permettent d'utiliser un conteneur personnalisé dérivé d'un conteneur de base fourni par Google. Vous pouvez modifier ce conteneur de base pour créer une image de conteneur personnalisé et utiliser ce conteneur personnalisé pour créer une instance Vertex AI Workbench.

Le conteneur de base est configuré avec un OS optimisé pour les conteneurs dans la machine virtuelle (VM) hôte. Le conteneur de base fournit des packages de data science préinstallés et des configurations spécifiques qui permettent à votre instance de s'intégrer à Google Cloud.

Le conteneur de base se trouve à l'emplacement gcr.io/deeplearning-platform-release/workbench-container:latest.

Limites

Tenez compte des limites suivantes lors de la planification de votre projet :

  • Le conteneur personnalisé doit être dérivé du conteneur de base fourni par Google (gcr.io/deeplearning-platform-release/workbench-container:latest). L'utilisation d'un conteneur qui n'est pas dérivé du conteneur de base n'est pas prise en charge et augmente les risques de problèmes de compatibilité avec nos services.

  • L'utilisation de plusieurs conteneurs avec une instance Vertex AI Workbench n'est pas possible.

  • Les métadonnées compatibles avec les conteneurs personnalisés des notebooks gérés par l'utilisateur et des notebooks gérés peuvent présenter un comportement différent lorsqu'elles sont utilisées avec des instances Vertex AI Workbench.

Avant de commencer

  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

Rôles requis

Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer une instance Vertex AI Workbench, demandez à votre administrateur d'accorder à votre compte utilisateur le rôle IAM Exécuteur de notebooks (roles/notebooks.runner) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un conteneur personnalisé

Pour créer un conteneur personnalisé à utiliser avec les instances Vertex AI Workbench, procédez comme suit :

  1. Créez un conteneur dérivé de l'image de conteneur de base fournie par Google (gcr.io/deeplearning-platform-release/workbench-container:latest).

  2. Créez et transférez le conteneur vers Artifact Registry. Vous utiliserez l'URI du conteneur lorsque vous créerez votre instance Vertex AI Workbench. Ce fichier pourrait par exemple ressembler à ceci : gcr.io/PROJECT_ID/IMAGE_NAME

Créer l'instance

Vous pouvez créer une instance Vertex AI Workbench basée sur un conteneur personnalisé à l'aide de gcloud CLI.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INSTANCE_NAME : nom de votre instance Vertex AI Workbench. Doit commencer par une lettre suivie de 62 caractères (lettres minuscules, chiffres ou traits d'union (-)) et ne peut pas se terminer par un trait d'union.
  • PROJECT_ID : ID de votre projet.
  • LOCATION : zone dans laquelle vous souhaitez placer votre instance.
  • CUSTOM_CONTAINER_PATH : chemin d'accès au dépôt d'images de conteneurs, par exemple : gcr.io/PROJECT_ID/IMAGE_NAME
  • METADATA : métadonnées personnalisées à appliquer à cette instance. Par exemple, pour spécifier un script post-démarrage, vous pouvez utiliser le tag de métadonnées post-startup-script au format "--metadata=post-startup-script=gs://BUCKET_NAME/hello.sh".

Exécutez la commande suivante :

Linux, macOS ou 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

Pour en savoir plus sur la commande permettant de créer une instance à partir de la ligne de commande, consultez la documentation de gcloud CLI.

Exemple d'installation : conteneur personnalisé avec un kernel par défaut personnalisé

L'exemple suivant montre comment créer un kernel avec un paquet pip préinstallé.

  1. Créez un conteneur personnalisé :

    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. Ajoutez le nouveau conteneur dans Artifact Registry :

    gcloud auth configure-docker REGION-docker.pkg.dev
    docker build -t REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME .
    docker push REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME:latest
  3. Créez une instance :

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

Accéder à votre instance

Vous pouvez accéder à votre instance via une URL de proxy.

Une fois votre instance créée et active, vous pouvez obtenir l'URL du proxy à l'aide de gcloud CLI.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INSTANCE_NAME : nom de votre instance Vertex AI Workbench
  • PROJECT_ID : ID de votre projet.
  • LOCATION : zone où se trouve votre instance

Exécutez la commande suivante :

Linux, macOS ou 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

La commande describe renvoie l'URL de votre proxy. Pour accéder à votre instance, ouvrez l'URL du proxy dans un navigateur Web.

Pour en savoir plus sur la commande permettant de créer une instance à partir de la ligne de commande, consultez la documentation de gcloud CLI.