Crea una instancia de notebooks administrados con un contenedor personalizado

En esta página, se muestra cómo agregar un contenedor personalizado a una instancia de notebooks administrados de Vertex AI Workbench como un kernel en el que puedes ejecutar tus archivos de notebook.

Descripción general

Puedes agregar un contenedor personalizado para usar con tu instancia de notebooks administrados. El contenedor personalizado está disponible como un kernel local en el que puedes ejecutar tu archivo de notebook.

Requisitos de los contenedores personalizados

Los notebooks administrados de Vertex AI Workbench admiten cualquiera de las imágenes de contenedor de los contenedores de aprendizaje profundo actuales.

Para crear tu propia imagen de contenedor personalizada, puedes modificar una de las imágenes de contenedor de los contenedores de aprendizaje profundo para crear una imagen de contenedor derivada.

Para crear una imagen de contenedor personalizada desde cero, asegúrate de que la imagen cumpla con los siguientes requisitos:

  • Usa una imagen de contenedor de Docker con al menos una kernelspec de Jupyter válida. Esta kernelspec expuesta permite que los notebooks administrados de Vertex AI Workbench carguen la imagen de contenedor como un kernel. Si la imagen de contenedor incluye una instalación de JupyterLab o de Notebook de Jupyter, la instalación incluirá la kernelspec de forma predeterminada. Si tu imagen de contenedor no tiene la kernelspec, puedes instalarla directamente.

  • La imagen de contenedor de Docker debe ser compatible con sleep infinity.

  • Para usar tu contenedor personalizado con el ejecutor de notebooks administrados, asegúrate de que el contenedor personalizado tenga la extensión nbexecutor.

En el siguiente texto de Dockerfile de ejemplo, se compila una imagen de Docker personalizada desde cero que se basa en una imagen de Ubuntu y se incluye la última versión de 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

Reemplaza VERSION_NUMBER por la versión de Python que usas.

Cómo un contenedor personalizado se convierte en un kernel en notebooks administrados

Para cada imagen de contenedor personalizada proporcionada, tu instancia de notebooks administrados identifica las kernelspecs de Jupyter disponibles en la imagen de contenedor cuando se inicia la instancia. La kernelspec aparece como un kernel local en la interfaz de JupyterLab. Cuando se elige el kernelspec, el administrador de kernel de notebooks administrados ejecuta el contenedor personalizado como un kernel e inicia una sesión de Jupyter en él.

Cómo se actualizan los kernels de contenedores personalizados

Vertex AI Workbench extrae la imagen del contenedor más reciente de tu kernel:

  • Cuando creas la instancia.

  • Cuando actualizas la instancia.

  • Cuando inicias tu instancia.

El kernel de contenedor personalizado no persiste cuando se detiene la instancia, por lo que cada vez que se inicia tu instancia, Vertex AI Workbench extrae la versión más reciente de la imagen de contenedor.

Si la instancia se está ejecutando cuando se lanza una nueva versión de un contenedor, el kernel de la instancia no se actualizará hasta que inicies y detengas la instancia.

Disponibilidad de las imágenes de contenedor personalizadas

Las imágenes de contenedor de los contenedores de aprendizaje profundo están disponibles para todos los usuarios. Cuando usas una imagen de contenedor de contenedores de aprendizaje profundo, debes otorgar roles específicos a la cuenta de servicio de tu instancia para que tu instancia pueda cargar la imagen de contenedor de contenedores de aprendizaje profundo como kernel. Obtén más información sobre los permisos necesarios y cómo otorgarlos en la sección Permisos.

Si deseas usar tu propia imagen de contenedor personalizada, debe estar ubicada en Artifact Registry y la imagen de contenedor debe estar disponible de forma pública.

Antes de comenzar

  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 and Artifact Registry APIs.

    Enable the APIs

  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 and Artifact Registry APIs.

    Enable the APIs

Agrega un contenedor personalizado mientras creas una instancia

Para agregar un contenedor personalizado a una instancia de notebooks administrados, la imagen de contenedor personalizada debe especificarse en la creación de la instancia.

Para agregar un contenedor personalizado mientras creas una instancia de notebooks administrados, completa los siguientes pasos.

  1. En la consola de Google Cloud, ve a la página Notebooks administrados.

    Ir a Notebooks administrados

  2. Haz clic en  Crear nuevo.

  3. En el campo Nombre, ingresa un nombre para tu subred.

  4. Haz clic en la lista Región y elige una región para tu instancia.

  5. En la sección Entorno, elige Proporcionar imágenes de Docker personalizadas.

  6. Agrega una imagen de contenedor de Docker de una de las siguientes maneras:

    • Ingresa una ruta de imagen de contenedor de Docker. Por ejemplo, para usar una imagen de contenedor de TensorFlow 2.12 con aceleradores de contenedores de aprendizaje profundo, ingresa us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-cpu.2-12.py310.
    • Haz clic en Elegir para agregar una imagen de contenedor de Docker desde Artifact Registry. Luego, en la pestaña Artifact Registry donde se almacena la imagen de contenedor, cambia el proyecto por el que incluye tu imagen de contenedor y elige tu imagen de contenedor.
  7. Completa el resto del cuadro de diálogo Crear instancia según tus necesidades.

  8. Haz clic en Crear.

  9. Vertex AI Workbench inicia la instancia de forma automática. Cuando la instancia está lista para usarse, Vertex AI Workbench activa un vínculo Abrir JupyterLab.

Otorga permisos a las imágenes de contenedor de los contenedores de aprendizaje profundo

Si no usas una imagen de contenedor de contenedores de aprendizaje profundo, omite esta sección.

Si deseas garantizar que la cuenta de servicio de tu instancia tenga los permisos necesarios para cargar una imagen de contenedor de contenedores de aprendizaje profundo desde Artifact Registry, pídele al administrador que le otorgue a la cuenta de servicio de la instancia los siguientes roles de IAM en tu instancia:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Es posible que tu administrador también pueda otorgar a la cuenta de servicio de tu instancia los permisos necesarios mediante roles personalizados o con otros roles predefinidos.

Configura un archivo de notebook para que se ejecute en tu contenedor personalizado

Para abrir JupyterLab, crear un archivo de notebook nuevo y configurarlo para que se ejecute en el kernel de tu contenedor personalizado, completa los siguientes pasos.

  1. Junto al nombre de la instancia de notebooks administrados, haz clic en Abrir JupyterLab.

  2. En el cuadro de diálogo Autenticar tu notebook administrado, haz clic en el botón para obtener un código de autenticación.

  3. Elige una cuenta y haz clic en Permitir. Copia el código de autenticación.

  4. En el cuadro de diálogo Autenticar tu notebook administrado, pega el código de autenticación y, luego, haz clic en Autenticar.

    Tu instancia de notebooks administrados abre JupyterLab.

  5. Select Archivo > Nuevo > Notebook.

  6. En el cuadro de diálogo Elegir kernel, elige el kernel para la imagen de contenedor personalizada que deseas usar y haz clic en Elegir. Las imágenes de contenedor más grandes pueden tardar en aparecer como un kernel. Si el kernel que quieres aún no está allí, vuelve a intentarlo en unos minutos. Puedes cambiar el kernel cada vez que quieras ejecutar tu archivo de notebook en un kernel diferente.

    Se abrirá el archivo de notebook nuevo.

¿Qué sigue?