创建Google Cloud镜像时报错“Could not fetch resource: Internal error”如何解决
排查与解决步骤
1. 验证镜像源有效性
- 先在Google Cloud Shell内执行命令检查公共镜像包是否可访问:
gsutil ls gs://redash-images/redash.8.0.0-b32245-1.tar.gz,如果返回权限错误/找不到资源,说明公共源失效,可先将Redash镜像包下载到你自己项目对应的私有GCS存储桶后再导入,避免跨桶权限或链路问题。 - 若公共源可正常访问,直接将镜像包复制到和你要部署VM同区域的私有GCS桶,减少跨区域传输的超时概率,执行命令:
gsutil cp gs://redash-images/redash.8.0.0-b32245-1.tar.gz gs://<你的私有桶名称>/。
2. 修正镜像创建命令参数
你之前执行的命令缺少区域、存储位置等关键参数,内部错误大概率是后台调度时跨区域资源匹配失败导致,修改命令补充参数后重试:
gcloud compute images create redash \ --source-uri gs://<你的私有桶名称>/redash.8.0.0-b32245-1.tar.gz \ --storage-location <你要部署VM的区域,例:us-central1> \ --family redash \ --project <你的GCP项目ID>
如果仍然报错,追加--log-http参数执行命令,保存详细请求日志,后续提供给谷歌支持可加快排查效率。
3. 规避网络问题的替代导入方案
- 本地网络速率低的情况下,所有操作均在Cloud Shell内执行,不要在本地运行gcloud命令,Cloud Shell属于GCP内部环境,到GCS、Compute API的链路均为内网,不受本地网络影响。
- 如果Cloud Shell同步导入仍超时,改用异步镜像导入作业的方式操作,不会受前端超时限制:先创建
image_import.yaml配置文件,内容如下:
name: redash-import
source:
gcsSource:
uri: gs://<你的私有桶名称>/redash.8.0.0-b32245-1.tar.gz
import:
os: ubuntu-1804
再执行命令:gcloud compute images import redash --config image_import.yaml,可在云控制台「Compute Engine > 镜像 > 导入作业」页面查看后台进度。
4. 兜底方案
如果所有镜像导入方式均失败,无需硬导入官方tar包,直接在目标区域启动Ubuntu 18.04的干净VM,运行Redash官方自助安装脚本部署即可,全程在VM内部执行操作,不会受镜像导入链路问题影响。
内容的提问来源于stack exchange,提问作者Dr-Bracket
相关产品推荐
相关产品推荐

