排查 Cloud Workstations 问题

本页面包含问题排查信息,可帮助您解决 Cloud Workstations 的问题。

将系统映像拉取到虚拟机上

使用工作站配置创建工作站时,Cloud Workstations 会从 Artifact Registry(或 Container Registry)将系统映像拉取到虚拟机 (VM) 实例中。显示的错误消息类似于以下内容:

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 Workstations 会创建 Compute Engine 来支持工作站。如果虚拟机预配过程中出现错误,系统会显示类似于以下内容的错误消息:

Workstations using this configuration cannot be provisioned due to an unknown error.

下面为您提供了一些建议:

设置 Cloud NAT 或启用专用 Google 访问通道

如果您在配置中停用了公共 IP 地址,请使用以下选项之一:

  • 设置 Cloud NAT,以允许 Cloud Workstations 将映像拉取到工作站虚拟机。

  • 在子网上启用专用 Google 访问通道。如果您使用 private.googleapis.comrestricted.googleapis.com 域名,请创建 DNS 记录以将流量定向到与这些网域关联的 IP 地址。具体来说,您需要确保启用对 Artifact Registry 和 Container Registry 网域的访问权限,这两个网域分别对应于 *.pkg.dev*.gcr.io

如需了解详情,请参阅“配置专用 Google 访问通道”> 高级网络配置

确保 API 已启用且可通过 VPC 访问

如果您的项目位于 VPC Service Controls 边界内,请确保 Cloud Storage API、Container Registry API 和 Artifact Registry API 可从您的服务边界内的 Virtual Private Cloud (VPC) 访问

更新防火墙规则以允许 TCP 出站流量

确保您允许网络中的 TCP 出站流量通过端口 80 和 443,以便 Cloud Workstations 将映像拉取到您的工作站。

检查 Compute Engine 虚拟机启动日志中是否存在可能的错误

Cloud Workstations 创建的虚拟机会在启动时将调试日志输出到串行控制台。当服务在创建虚拟机时超时,这些日志会很有用。 为工作站创建的虚拟机名称以 workstations- 开头,后跟唯一标识符。使用以下过滤条件在日志浏览器中过滤日志:

SEARCH("workstations-")
sourceLocation.function="main.setupAndRunScript"

如果您没有看到任何符合此过滤条件的日志,请确保您已在项目上启用串行端口日志记录。如果您在工作站配置中指定了服务账号,请确保该服务账号对项目具有 logging.logEntries.create 权限,以便将日志写入 Cloud Logging。启用串行端口日志记录并添加必要的权限后,尝试再次启动工作站,以确保 Compute Engine 虚拟机启动脚本再次运行,从而生成日志。

检查 Compute Engine API 日志中是否存在可能的错误

对 Stackdriver 日志应用以下过滤条件:

protoPayload.serviceName="compute.googleapis.com"
severity>=ERROR

Compute Engine API 错误可能会阻止工作站虚拟机的创建。

为您的项目启用客机特性

为帮助您进行问题排查,请确保您未为项目停用访客属性。Cloud Workstations 会使用这些属性在您启动工作站时检测某些问题,并在工作站配置中将这些问题报告为特定的调试消息。