Google Cloud SDK 抛出 Reachability Check failed 错误

Google Cloud SDK throws Reachability Check failed error

我正在尝试使用 gcloud init 命令在 mac os 上验证我的帐户,但它抛出与 SSL Certificate 相关的错误。我正在使用 python 3.7 和最新版本的 google clound sdk。

> gcloud info --run-diagnostics

Network diagnostic detects and fixes local network connection issues.
Checking network connection...done.
ERROR: Reachability Check failed.
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with httplib2 (SSLCertVerificationError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with httplib2 (SSLCertVerificationError)
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with requests (SSLError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with requests (SSLError)
Network connection problems may be due to proxy or firewall settings.

我不支持任何公司代理。

更新gcloud info --run-diagnostics --verbosity debug

的输出
DEBUG: Running [gcloud.info] with arguments: [--run-diagnostics: "True", --verbosity: "debug"]
Network diagnostic detects and fixes local network connection issues.
Checking network connection...⠶DEBUG: Starting new HTTPS connection (1): accounts.google.com:443
Checking network connection...⠧DEBUG: https://accounts.google.com:443 "GET / HTTP/1.1" 302 338
Checking network connection...⠏DEBUG: https://accounts.google.com:443 "GET /ServiceLogin?passive=1209600&continue=https%3A%2F%2Faccounts.google.com%2F&followup=https%3A%2F%2Faccounts.google.com%2F HTTP/1.1" 200 None
Checking network connection...⠛DEBUG: Starting new HTTPS connection (1): cloudresourcemanager.googleapis.com:443
DEBUG: Starting new HTTPS connection (1): www.googleapis.com:443
Checking network connection...⠹DEBUG: Starting new HTTPS connection (1): dl.google.com:443
Checking network connection...⠼DEBUG: https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components-2.json HTTP/1.1" 200 144486
Checking network connection...done.
ERROR: Reachability Check failed.
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with httplib2 (SSLCertVerificationError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with httplib2 (SSLCertVerificationError)
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects with requests (SSLError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform with requests (SSLError)
Network connection problems may be due to proxy or firewall settings.

@JohnHanley

要求的 gcloud info 的输出
Python Location: [/Library/Frameworks/Python.framework/Versions/3.7/bin/python3]
Site Packages: [Disabled]

Installation Root: [/home/myname/google-cloud-sdk]
Installed Components:
  gsutil: [4.55]
  core: [2020.12.04]
  bq: [2.0.64]
System PATH: [/home/myname/google-cloud-sdk/bin:/usr/local/opt/openssl@1.1/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/home/myname/Desktop/Projects/google-cloud-sdk/bin:/usr/local/opt/openssl@1.1/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/home/myname/opt/anaconda3/bin:/home/myname/opt/anaconda3/condabin:/home/myname/Library/Python/3.7/bin:/home/myname/Library/Python/3.7/bin]
Python PATH: [/home/myname/google-cloud-sdk/lib/third_party:/home/myname/google-cloud-sdk/lib:/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload]
Cloud SDK on PATH: [True]
Kubectl on PATH: [/usr/local/bin/kubectl]

WARNING: There are other instances of the Google Cloud Platform tools on your system PATH.
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/dev_appserver.py
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/docker-credential-gcloud
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/endpointscfg.py
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/gcloud
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/git-credential-gcloud.sh
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/java_dev_appserver.sh
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/anthoscli
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/gsutil
  /home/myname/Desktop/Projects/google-cloud-sdk/bin/bq

Installation Properties: [/home/myname/google-cloud-sdk/properties]
User Config Directory: [/home/myname/.config/gcloud]
Active Configuration Name: [abc]
Active Configuration Path: [/home/myname/.config/gcloud/configurations/config_abc]

Account: [None]
Project: [None]

Current Properties:
  [core]
    disable_usage_reporting: [False]

Logs Directory: [/home/myname/.config/gcloud/logs]
Last Log File: [/home/myname/.config/gcloud/logs/2020.12.08/20.07.56.822405.log]

git: [git version 2.24.3 (Apple Git-128)]
ssh: [OpenSSH_8.1p1, LibreSSL 2.7.3]

如果您的实例配置为使用 SSL,请转到 Cloud Console 中的 Lux 实例页面并打开该实例。打开其 Connections 页面并确保您的服务器证书有效。如果它已过期,您必须添加新证书并轮换到它。

根据此 ,您需要通过 运行 以下命令升级您的证书:

pip3 install --upgrade certifi

试一试,如果您还需要任何帮助,请告诉我。

你的系统一团糟。

  • 看看Python Location。比较 Python PATHPATH.
  • 您的 PATH 中有多个 Python 和 CLI 安装。
  • 您的 PATH 混合了 3.7 和 3.8,这是灾难的根源。
  • 您有部分相对于桌面的安装。

我的建议:

  • 删除所有 CLI 安装。
  • 删除旧的 Python 安装 - 考虑删除所有版本并安装新版本(在执行以下步骤并重新启动之后),因为我相信您的 Python 库现在已经搞砸了。
  • 删除所有 Google CLI 安装 (gcloud)。
  • 清理路径并删除您删除的目录。
  • 确保没有留下残余物。
  • 重启。
  • 全新安装 Google CLI。

小费。对于 Python 或 CLI,不要相对于您的主目录进行安装。

正在删除 Python mac 上的安装OS。

这是一个摘要。具体步骤取决于您的设置。本质上,您想从 PATH 变量、环境和 PYTHON 变量中删除 Python 和 CLI。同时从磁盘中删除它们,以便您可以完成全新安装。

  • OS 自带安装。它位于 /Library/Frameworks/Python.framework。您不止一次重复了一个以上的安装。阅读本文以删除这些安装:https://www.macupdate.com/app/mac/5880/python/uninstall
  • 我建议修改 PATH 以删除 3.7 和 3.8 版本,并修改您的环境以删除这些引用。
  • 从 PATH 中删除 /Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip
  • 删除目录/home/myname/Library/Python/3.7/bin和内容。
  • 删除目录/home/myname/Library/Python/3.8/bin和内容。
  • 阅读此 link 以删除 Google SDK https://cloud.google.com/sdk/docs/uninstall-cloud-sdk
  • 删除PYTHON相关的环境变量如PYTHONPATH.
  • 从 PATH 中删除以 /home/myname/google-cloud-sdk 开头的所有内容。同时删除目录和内容。

注意:您还安装了 Anaconda。我建议删除它,因为它也有自己的 Python 版本。