【问题标题】:gcloud Property validation was skipped已跳过 gcloud 属性验证
【发布时间】:2021-11-25 00:50:21
【问题描述】:

我正在使用 gcloud CLI 配置我的区域和专区:

gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-c

但每个命令持续大约 15 秒,我收到警告:

WARNING: Property validation for compute/region was skipped

一切正常,但为什么我有 15 秒的延迟和警告?

使用详细参数,输出为:

DEBUG: Running [gcloud.config.set] with arguments: [--verbosity: "debug", SECTION/PROPERTY: "compute/region", VALUE: "us-central1"]
Updated property [compute/region].
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true
DEBUG: Starting new HTTP connection (1): metadata.google.internal:80
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true HTTP/1.1" 200 185
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token HTTP/1.1" 200 1050
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true
DEBUG: Starting new HTTP connection (1): metadata.google.internal:80
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true HTTP/1.1" 200 185
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token HTTP/1.1" 200 1050
DEBUG: Starting new HTTPS connection (1): compute.googleapis.com:443
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
WARNING: Property validation for compute/region was skipped.

【问题讨论】:

  • 也许添加 --verbosity=debug 并重新运行命令......我们可能会获得一些额外的诊断信息。对于答案的疯狂猜测,我可以想象 gcloud 将 REST 请求发送回 GCP 以验证您的参数,并且这些 REST 调用被阻止或因 15 秒超时而失败。
  • 您好,您可以尝试使用以下命令更新您的组件:gcloud components update,并检查它是否正常工作?您是使用云外壳还是在本地运行命令?如果在本地,那么您可能需要检查您的防火墙规则。
  • 我在 GCP CloudBuild 平台上运行它,并使用图像 gcr.io/cloud-builders/gcloud。我相信 GCP 提供了更新版本,当我运行 gcloud 版本时,我得到:Google Cloud SDK 359.0.0
  • 那么,你能检查一下compute.googleapis.com api 是否启用了吗?还向我们提供配置文件,请在以下链接中查看参考:stackoverflow.com/a/65392982/15774177cloud.google.com/compute/docs/…。还要在运行过程中解释您的 Cloudbuild 设置,并向我们提供 cloudbuild.yaml 文件。
  • 构建容器 (gcr.io/cloud-builders/gcloud) 上没有 ~/.config/gcloud 文件夹,所以我找不到如何按要求提供此类配置。该构建使用 gcr.io/cloud-builders/gcloud 容器并运行一个运行命令 gcloud config set compute/region us-central1 的 bash 脚本。这是稍后使用的其他命令所必需的,例如启动其他构建触发器。

标签: google-cloud-platform command-line-interface gcloud google-cloud-shell


【解决方案1】:

为使 gcloud 工具更易于使用,Google Cloud 将尝试验证提供的值,包括“计算/区域”。在这种情况下,它必须从 API 获取可用区域的完整列表。如果失败,无论出于何种原因,它都会显示此警告消息。

其中一个原因可能是未启用 Compute Engine API。也可能是缺少身份验证,尽管 Cloud Build 默认启用身份验证,并且您不需要任何特殊权限即可运行此命令。

要找出究竟出了什么问题,您可以尝试将 --log-http 参数添加到您的 gcloud 命令行。这将显示与 API 的任何交互的完整详细信息,包括响应中的任何错误消息。

无论如何,这只是一个警告,配置条目仍在更新中。即使验证失败也会发生这种情况,例如该地区不存在。正如我上面提到的,这只是一个帮助让用户知道他们是否犯了某些类型的简单错误的功能。

【讨论】:

  • 我已将角色/compute.networkViewer 添加到帐户中,并且有效。 --log-http 很棒!顺便说一句 - 我认为这是一个错误,gcloud 不应该尝试 5 次请求,以防它因错误 403 权限被拒绝而失败。
猜你喜欢
  • 2014-01-18
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-25
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
相关资源
最近更新 更多