Verwaltete Notebooks-Instanz mit einem benutzerdefinierten Container erstellen

Auf dieser Seite wird gezeigt, wie Sie einen benutzerdefinierten Container zu einer von Vertex AI Workbench verwalteten Notebook-Instanz als Kernel hinzufügen, auf dem Sie Ihre Notebookdateien ausführen können.

Übersicht

Sie können einen benutzerdefinierten Container für die Verwendung mit Ihrer verwalteten Notebookinstanz hinzufügen. Der benutzerdefinierte Container ist dann als lokaler Kernel verfügbar, auf dem Sie Ihre Notebookdatei ausführen können.

Anforderungen an benutzerdefinierte Container

Von Vertex AI Workbench verwaltete Notebooks unterstützen jedes der aktuellen Deep Learning Container-Container-Images.

Wenn Sie ein benutzerdefiniertes Container-Image erstellen möchten, können Sie eines der Deep Learning Container-Container-Images ändern, um ein abgeleitetes Container-Image zu erstellen.

Wenn Sie ein benutzerdefiniertes Container-Image neu erstellen möchten, muss das Container-Image die folgenden Anforderungen erfüllen:

  • Verwenden Sie ein Docker-Container-Image mit mindestens einer gültigen Jupyter-Kernelspezifikation. Mit dieser bereitgestellten Kernelspezifikation kann Vertex AI Workbench verwaltete Notebooks das Container-Image als Kernel laden. Wenn Ihr Container-Image eine Installation von JupyterLab oder Jupyter Notebook enthält, enthält die Installation standardmäßig die Kernelspezifikation. Wenn Ihr Container-Image die Kernelspezifikation nicht hat, können Sie die Kernelspezifikation direkt installieren.

  • Das Docker-Container-Image muss sleep infinity unterstützen.

  • Wenn Sie Ihren benutzerdefinierten Container mit dem Executor der verwalteten Notebooks verwenden möchten, muss Ihr benutzerdefinierter Container die Erweiterung nbexecutor haben.

Das folgende Beispiel für einen Dockerfile-Text erstellt ein benutzerdefiniertes Docker-Image von Grund auf neu, das auf einem Ubuntu-Image basiert und die neueste Python-Version enthält.

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

Ersetzen Sie VERSION_NUMBER durch die von Ihnen verwendete Python-Version.

So wird ein benutzerdefinierter Container zu einem Kernel in verwalteten Notebooks

Für jedes bereitgestellte benutzerdefinierte Container-Image identifiziert Ihre Instanz mit verwalteten Notebooks die verfügbaren Jupyter-Kernel-Spezifikationen auf dem Container-Image, wenn die Instanz gestartet wird. Die Kernel-Spezifikation wird als lokaler Kernel in der JupyterLab-Benutzeroberfläche angezeigt. Wenn die Kernel-Spezifikation ausgewählt ist, führt der Kernelmanager für verwaltete Notebooks den benutzerdefinierten Container als Kernel aus und startet eine Jupyter-Sitzung auf diesem Kernel.

So werden benutzerdefinierte Container-Kernel aktualisiert

Vertex AI Workbench ruft das neueste Container-Image für Ihren Kernel ab:

  • Wenn Sie die Instanz erstellen

  • Beim Upgrade der Instanz

  • Wenn Sie die Instanz starten

Der benutzerdefinierte Container-Kernel bleibt nicht bestehen, wenn Ihre Instanz gestoppt wird. Daher ruft Vertex AI Workbench bei jedem Start der Instanz die neueste Version des Container-Images ab.

Wenn Ihre Instanz mit einer neuen Version eines Containers ausgeführt wird, wird der Kernel Ihrer Instanz erst aktualisiert, wenn Sie Ihre Instanz beenden und starten.

Verfügbarkeit von benutzerdefinierten Container-Images

Deep Learning Container-Container-Images stehen allen Nutzern zur Verfügung. Wenn Sie ein Deep Learning Container-Container-Image verwenden, müssen Sie dem Dienstkonto Ihrer Instanz bestimmte Rollen zuweisen, damit die Instanz das Deep Learning Container-Container-Image als Kernel laden kann. Weitere Informationen zu den erforderlichen Berechtigungen und zum Erteilen dieser Berechtigungen finden Sie im Abschnitt Berechtigungen.

Wenn Sie ein eigenes benutzerdefiniertes Container-Image verwenden möchten, muss es sich in Artifact Registry befinden und das Container-Image muss öffentlich verfügbar sein.

Vorbereitung

  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

Benutzerdefinierten Container beim Erstellen einer Instanz hinzufügen

Wenn Sie einer verwalteten Notebook-Instanz einen benutzerdefinierten Container hinzufügen möchten, muss das benutzerdefinierte Container-Image bei der Instanzerstellung angegeben werden.

Gehen Sie folgendermaßen vor, um beim Erstellen einer verwalteten Notebook-Instanz einen benutzerdefinierten Container hinzuzufügen.

  1. Rufen Sie in der Google Cloud Console die Seite Verwaltete Notebooks auf.

    Zu "Verwaltete Notebooks"

  2. Klicken Sie auf  NEU ERSTELLEN.

  3. Geben Sie im Feld Name einen Namen für die Instanz ein.

  4. Klicken Sie auf die Liste Region und wählen Sie eine Region für Ihre Instanz aus.

  5. Wählen Sie im Bereich Umgebung die Option Benutzerdefinierte Docker-Images bereitstellen aus.

  6. Sie haben folgende Möglichkeiten, ein Docker-Container-Image hinzuzufügen:

    • Geben Sie den Pfad des Docker-Container-Images ein. Wenn Sie beispielsweise ein TensorFlow 2.12-Container-Image mit Beschleunigern von Deep Learning Container verwenden möchten, geben Sie us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-cpu.2-12.py310 ein.
    • Klicken Sie auf Auswählen, um ein Docker-Container-Image aus Artifact Registry hinzuzufügen. Ändern Sie dann auf dem Tab Artifact Registry, in dem das Container-Image gespeichert ist, das Projekt in das Projekt, das Ihr Container-Image enthält, und wählen Sie das Container-Image aus.
  7. Führen Sie die restlichen Schritte des Dialogfelds Instanz erstellen entsprechend Ihren Anforderungen aus.

  8. Klicken Sie auf Erstellen.

  9. Vertex AI Workbench startet die Instanz automatisch. Sobald die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen.

Berechtigungen für Deep Learning Container-Container-Images erteilen

Wenn Sie kein Deep Learning Container-Container-Image verwenden, überspringen Sie diesen Abschnitt.

Damit das Dienstkonto Ihrer Instanz die erforderlichen Berechtigungen zum Laden eines Deep Learning Container-Container-Images aus Artifact Registry hat, bitten Sie Ihren Administrator, dem Dienstkonto Ihrer Instanz die folgenden IAM-Rollen für Ihre Instanz zu erteilen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Ihr Administrator kann dem Dienstkonto Ihrer Instanz möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Notebookdatei zur Ausführung in Ihrem benutzerdefinierten Container einrichten

Mit den folgenden Schritten erstellen Sie zum Öffnen von JupyterLab eine neue Notebookdatei und richten sie so ein, dass sie im Kernel Ihres benutzerdefinierten Containers ausgeführt wird.

  1. Klicken Sie neben dem Namen der verwalteten Notebook-Instanz auf JupyterLab öffnen.

  2. Klicken Sie im Dialogfeld Verwaltetes Notebook authentifizieren auf die Schaltfläche, um einen Authentifizierungscode abzurufen.

  3. Wählen Sie ein Konto aus und klicken Sie auf Zulassen. Kopieren Sie den Authentifizierungscode.

  4. Fügen Sie im Dialogfeld Verwaltetes Notebook authentifizieren den Authentifizierungscode ein und klicken Sie dann auf Authentifizieren.

    Ihre verwaltete Notebook-Instanz öffnet JupyterLab.

  5. Wählen Sie File > New > Notebook aus.

  6. Wählen Sie im Dialogfeld Kernel auswählen den Kernel für das benutzerdefinierte Container-Image aus, das Sie verwenden möchten, und klicken Sie dann auf Auswählen. Bei größeren Container-Images kann es einige Zeit dauern, bis sie als Kernel angezeigt werden. Wenn der gewünschte Kernel noch nicht vorhanden ist, versuchen Sie es in einigen Minuten noch einmal. Sie können den Kernel ändern, wenn Sie Ihre Notebook-Datei auf einem anderen Kernel ausführen möchten.

    Ihre neue Notebookdatei wird geöffnet.

Nächste Schritte