假设有一个市场图像,例如Colab。我想在 GCE 现货实例上启动它。当我使用部署管理器时,没有选择现货配置模型的选项。
文档和谷歌搜索都无济于事。有没有办法在现货实例上启动市场图像?
答案1
我设法从市场和部署管理器创建的实例中提取了云初始化配置和属性。我发布了它论要点。如果您知道更好的解决方案,请告诉我。
以下是使用 Colab 映像和云初始化配置启动现货实例的 gcloud 命令。设置发生在 中cloud_init.conf
,请参阅上面的要点。
gcloud beta compute instances create colab-1-vm \
--machine-type=e2-highmem-4 \
--provisioning-model=SPOT \
--boot-disk-size=200GB \
--boot-disk-type=pd-balanced \
--instance-termination-action=DELETE \
--image=https://www.googleapis.com/compute/v1/projects/colab-marketplace-image-public/global/images/colab-mp-20220110 \
--network=https://www.googleapis.com/compute/v1/projects/<INSERT_PROJECT_ID>/global/networks/default \
--subnet=https://www.googleapis.com/compute/v1/projects/<INSERT_PROJECT_ID>/regions/<INSERT_REGION>/subnetworks/default \
--no-restart-on-failure \
--metadata-from-file=user-data=cloud_init.conf \
--service-account=<INSERT_ACCOUNT>@developer.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud.useraccounts.readonly,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/cloudruntimeconfig,https://www.googleapis.com/auth/compute
答案2
我无法让其他方法发挥作用(这个或者这个)。然而,经过一些实验后,我发现了另一种适合我的方法:
- 将部署管理器与市场 Colab 镜像一起使用。
- 转到 Compute Engine 中的“VM 实例”,然后停止该实例。点击实例名称,然后创建机器映像(使用“创建机器映像”按钮)。
- 创建机器映像后,单击“创建实例”按钮,然后选择左侧的“从机器映像新建 VM 实例”。现在您可以根据需要配置实例,包括 Spot 配置。最后,单击“等效命令行”按钮,然后通过 gcloud 工具运行该命令。直接单击“创建”按钮对我来说不起作用(由于一些矛盾的参数),但使用 gcloud 命令似乎可以解决该问题。
- 您现在应该能够通过 Colab 连接到实例,并选择“连接到自定义 GCE VM”。
答案3
作为 Alexandrs 贡献的补充,我添加了对 GPU 的支持这个分叉的要点。
编辑 2023:我将要点更新为最新的 Google Colab 图像(使用最新的 Python 版本)。
答案4
使用 gcloud 工具或 Compute Engine API 创建 Spot VM。Spot VM 是配置为使用 Spot 配置模型的任何 VM:gcloud 工具中的 --provisioning-model=SPOT 或 Compute Engine API 中的 "provisioningModel": "SPOT"。
请参阅有关如何创建 Spot VM在 GCP 上。
使用以下方式连接到服务器后,
$ gcloud compute ssh --zone us-central1-a 'instance-name' -- -L 8888:localhost:8888
使用以下命令安装并设置连接 Colab 前端所需的库:
$ pip install jupyter_http_over_ws jupyter serverextension enable --py jupyter_http_over_ws jupyter notebook
--NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0 --no-browser
为了连接到 Colab 前端,我们获取一个 URL 作为上述命令的输出。
当您单击终端中的 URL 时,它将成功重定向到 Jupyter 主页,没有任何问题。
参考Colab+GCP 计算— 如何将它们链接在一起以获取更多信息。