本页面包含问题排查信息,可帮助您解决 Cloud Workstations 方面的问题。
将系统映像拉取到虚拟机
当您使用工作站配置创建工作站时,Cloud Workstations 会从 Artifact Registry(或 Container Registry)将系统映像拉取到您的虚拟机上。系统会显示类似于以下内容的错误消息:
System images cannot be pulled onto workstation VMs using this configuration.
Ensure that you have set up Cloud NAT or enabled Private Google Access for
Artifact Registry (and Container Registry).
如果无法拉取这些映像,您可能无法启动工作站。下面为您提供了一些建议:
- 设置 Cloud NAT 或启用专用 Google 访问通道。
- 确保 API 已启用且可访问 VPC。
- 更新防火墙规则以允许 TCP 出站流量。
- 检查 Compute Engine 虚拟机启动日志,查看是否存在可能的错误。
设置 Cloud NAT 或启用专用 Google 访问通道
如果您在配置中停用了公共 IP 地址,请使用以下选项之一:
设置 Cloud NAT,以允许 Cloud Workstations 将映像拉取到您的工作站虚拟机。
在子网上启用专用 Google 访问通道。如果您使用
private.googleapis.com
或restricted.googleapis.com
域名,请创建 DNS 记录以将流量定向到与这些网域关联的 IP 地址。具体而言,您需要确保已启用对 Artifact Registry 和 Container Registry 网域的访问权限,这两个网域分别对应于*.pkg.dev
和*.gcr.io
。
如需了解详情,请参阅“配置专用 Google 访问通道”> 高级网络配置。
确保 API 已启用且可访问 VPC
如果您的项目位于 VPC Service Controls 边界内,请确保可从您的服务边界内的 Virtual Private Cloud (VPC) 访问 Cloud Storage API、Container Registry API 和 Artifact Registry API。
更新防火墙规则以允许 TCP 出站
确保在网络中允许端口 80 和 443 上的 TCP 出站流量,以便 Cloud Workstations 将映像拉取到您的工作站。
检查 Compute Engine 虚拟机启动日志,了解可能存在的错误
如果上述所有步骤都未能解决问题,您或许可以在 Compute Engine 虚拟机启动脚本日志中找到失败原因。为您的配置创建的虚拟机名称以 CONFIG_NAME-
开头,后跟唯一标识符。
使用以下过滤条件过滤 Stackdriver 日志:
SEARCH("CONFIG_NAME")
sourceLocation.function="main.setupAndRunScript"
替换以下内容:
CONFIG_NAME
:工作站配置的名称。
如果您没有看到使用此过滤条件的任何日志,请确保您已为项目启用串行端口日志记录。如果您在工作站配置中指定了服务账号,请确保该服务账号对项目具有 logginglogEntries.create
权限,以便将日志写入 Cloud Logging。启用串行端口日志记录并添加必要的权限后,请尝试重新启动工作站,以确保再次运行 Compute Engine 虚拟机启动脚本以生成日志。