使用自訂容器建立代管型筆記本執行個體
本頁說明如何將自訂容器新增至 Vertex AI Workbench 代管型筆記本執行個體,做為可用於執行筆記本檔案的核心。
總覽
您可以新增自訂容器,以便與受管理的 Notebooks 執行個體搭配使用。自訂容器隨即可做為本機核心使用,您可以在該核心上執行筆記本檔案。
自訂容器需求
Vertex AI Workbench 代管型筆記本支援目前的任何深度學習容器容器映像檔。
如要自行建立自訂容器映像檔,您可以修改其中一個深度學習容器容器映像檔,建立衍生容器映像檔。
如要從頭開始建立自訂容器映像檔,請確認容器映像檔符合下列規定:
使用至少含有一個有效 Jupyter 核心設定的 Docker 容器映像檔。這個公開的 kernelspec 可讓 Vertex AI Workbench 代管型筆記本將容器映像檔載入為核心。如果容器映像檔包含 JupyterLab 或 Jupyter Notebook 的安裝程序,則安裝程序預設會包含 kernelspec。如果容器映像檔沒有 kernelspec,您可以直接安裝 kernelspec。
Docker 容器映像檔必須支援
sleep infinity
。如要將自訂容器與受管理的 Notebooks 執行器搭配使用,請確認自訂容器具有
nbexecutor
擴充功能。
下列 Dockerfile 文字範例會從頭開始建構自訂 Docker 映像檔,該映像檔以 Ubuntu 映像檔為基礎,並包含最新的 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
將 VERSION_NUMBER
替換為您使用的 Python 版本。
自訂容器如何在受管理的筆記本中成為核心
對於提供的每個自訂容器映像檔,您的代管型筆記本執行個體會在執行個體啟動時,找出容器映像檔中可用的 Jupyter 核心規格。在 JupyterLab 介面中,kernelspec 會顯示為本機核心。選取核心規格後,受管理的筆記本核心管理員會以核心的形式執行自訂容器,並在該核心上啟動 Jupyter 工作階段。
如何更新自訂容器核心
Vertex AI Workbench 會為核心提取最新的容器映像檔:
建立執行個體時。
升級執行個體時。
啟動執行個體時。
自訂容器核心在執行個體停止時不會保留,因此每次啟動執行個體時,Vertex AI Workbench 都會擷取最新版的容器映像檔。
如果容器的新版本在執行中,您必須停止並重新啟動執行個體,才能更新執行個體的核心。
自訂容器映像檔的供應情形
所有使用者都可以使用深度學習容器容器映像檔。使用深度學習容器容器映像檔時,您必須將特定角色授予執行個體的服務帳戶,讓執行個體能夠將深度學習容器容器映像檔載入為核心。如要進一步瞭解所需權限和授予方式,請參閱「權限」一節。
如果您想使用自訂容器映像檔,該映像檔必須位於 Artifact Registry 中,且必須是公開的。
事前準備
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks and Artifact Registry APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks and Artifact Registry APIs.
在 Google Cloud 控制台中,前往「受管理的筆記本」頁面。
按一下「建立新項目」
。在「Name」欄位中,輸入執行個體的名稱。
按一下「Region」清單,然後選取執行個體所在的區域。
在「環境」部分中,選取「提供自訂 Docker 映像檔」。
請透過下列其中一種方式新增 Docker 容器映像檔:
- 輸入 Docker 容器映像檔路徑。舉例來說,如要使用 TensorFlow 2.12 容器映像檔搭配 深度學習容器的加速器,請輸入
us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-cpu.2-12.py310
。 - 按一下「選取」,即可從 Artifact Registry 新增 Docker 容器映像檔。接著,在儲存容器映像檔的 Artifact Registry 分頁中,將專案變更為包含容器映像檔的專案,然後選取容器映像檔。
- 輸入 Docker 容器映像檔路徑。舉例來說,如要使用 TensorFlow 2.12 容器映像檔搭配 深度學習容器的加速器,請輸入
根據需求完成「建立執行個體」對話方塊的其餘部分。
按一下 [建立]。
Vertex AI Workbench 會自動啟動執行個體。執行個體可供使用時,Vertex AI Workbench 會啟用「Open JupyterLab」連結。
-
Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) -
Artifact Registry Reader (
roles/artifactregistry.reader
) 按一下代管型筆記本執行個體名稱旁的「Open JupyterLab」(開啟 JupyterLab)。
在「Authenticate your managed notebook」(驗證代管型筆記本) 對話方塊中,按一下按鈕來取得驗證碼。
選取所需的帳戶,然後按一下「Allow」(允許)。複製驗證碼。
在「Authenticate your managed notebook」(驗證代管型筆記本) 對話方塊中貼上驗證碼,然後按一下「Authenticate」(驗證)。
代管型筆記本執行個體中會開啟 JupyterLab。
依序選取「File」>「New」>「Notebook」。
在「Select kernel」對話方塊中,選取要使用的自訂容器映像檔的核心,然後按一下「Select」。較大的容器映像檔可能需要一段時間才會顯示為核心。如果您要的核心尚未出現,請過幾分鐘後再試一次。如要將 Notebook 檔案執行在其他核心上,您可以變更核心。
新的筆記本檔案會隨即開啟。
在建立執行個體時新增自訂容器
如要將自訂容器新增至受管理的筆記本執行個體,必須在建立執行個體時指定自訂容器映像檔。
如要在建立受管理的 Notebooks 執行個體時新增自訂容器,請完成下列步驟。
授予深度學習容器容器映像檔的權限
如果您未使用深度學習容器容器映像檔,請略過本節。
為確保執行個體的服務帳戶具備從 Artifact Registry 載入深度學習容器容器映像檔的必要權限,請要求管理員授予執行個體的服務帳戶以下 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
管理員也可能會透過自訂角色或其他預先定義的角色,為執行個體的服務帳戶授予必要權限。
設定筆記本檔案,以便在自訂容器中執行
如要開啟 JupyterLab、建立新的 Notebook 檔案,並將其設為在自訂容器的核心上執行,請完成下列步驟。