我有一个名为“ test-1”的私有映像,可以用它来创建实例
$ gcloud compute instances create demo --image test-1
但是我不能使用公共图像:
$ gcloud compute instances create demo --image ubuntu-1804-bionic-v20190204
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
- Invalid value for field 'resource.disks[0].initializeParams.sourceImage': 'https://www.googleapis.com/compute/v1/projects/szabgab-149/global/images/ubuntu-1804-bionic-v20190204'. The referenced image resource cannot be found.
没有公共图像家族:
$ gcloud compute instances create demo --image-family ubuntu-1804-lts
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
- The resource 'projects/szabgab-149/global/images/family/ubuntu-1804-lts' was not found
我在这里做什么错了?
答案 0 :(得分:2)
我注意到在生成的错误消息中,您正在生成图像的位置,就好像它位于您的项目中一样,据我所知它的名称为szabgab-149
:
资源 'projects / szabgab-149 / global / images / family / ubuntu-1804-lts'
问题是公共映像位于其自己的项目中,请参见命令gcloud compute images list
的输出。
例如,ubuntu-1804-bionic-v20190204
在项目ubuntu-os-cloud
和图像系列ubuntu-1804-lts
下。
要解决此问题,您只需在上一个gcloud命令的信息中添加--image-project
标志,然后执行以下命令即可使用以下特定图像:
gcloud compute instances create demo \
--image ubuntu-1804-bionic-v20190204 \
--image-project ubuntu-os-cloud
或者使用该图像,以使用项目ubuntu-os-cloud
和家族ubuntu-1804-lts
下的默认图像:
gcloud compute instances create demo \
--image-family ubuntu-1804-lts \
--image-project ubuntu-os-cloud
答案 1 :(得分:0)
https://github.com/khushbuparakh/gcp/blob/master/instance.py
您可以使用它。它创建一个存储桶。将您的私人文件上传到存储桶。使用该文件创建图像并启动实例