gcloud只能使用私有映像创建实例

时间:2019-02-11 10:05:30

标签: google-cloud-platform gcloud

我有一个名为“ 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

我在这里做什么错了?

2 个答案:

答案 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

您可以使用它。它创建一个存储桶。将您的私人文件上传到存储桶。使用该文件创建图像并启动实例