如何让gcloud CLI auth login快速执行且无流程末尾错误?
解决gcloud auth login弹窗延迟及认证成功页超时问题
核心问题原因
gcloud auth login执行时会自动检测当前环境是否为GCE节点,检测逻辑是尝试连接metadata.google.internal,默认的超时和重试机制会导致浏览器认证页面延迟数分钟弹出。修改/etc/hosts绑定该域名到本地虽然能加速弹窗,但会破坏后续认证成功后的回调流程,导致超时错误。
官方解决方案
以下方法均为官方支持的配置方式,可彻底解决问题:
临时跳过检测(单次生效)
在执行gcloud auth login前,先设置环境变量:export CLOUDSDK_COMPUTE_GCE_METADATA_CHECK_TIMEOUT_SEC=0 gcloud auth login将检测超时设为0,直接跳过GCE环境检测流程。
永久跳过检测(全局生效)
修改gcloud的全局配置,无需每次手动设置环境变量:gcloud config set compute/gce_metadata_check_timeout_sec 0该配置会永久保存到gcloud的配置文件中,后续所有
gcloud命令都会跳过GCE环境检测。
注意事项
不要通过修改/etc/hosts绑定metadata.google.internal的方式解决弹窗延迟,这会导致认证成功后gcloud无法正常完成回调流程,出现超时错误。上述官方配置方法既能解决弹窗卡顿,又能保证认证全流程正常完成。
内容的提问来源于stack exchange,提问作者Henrik
相关产品推荐
相关产品推荐

