下面的工作很棒-从源映像和创建虚拟机额外的持久磁盘
gcloud compute instances create ${INSTANCE_NAME}
--image-project ${PROJECT_NAME}
--image ${BASE_IMAGE_NAME}
--zone=${ZONE_NAME}
--create-disk=size=128GB,type=pd-balanced,name=${INSTANCE_NAME}-home,device-name=homedisk
下面的命令创建了一个虚拟机,但是没有创建额外的磁盘。
gcloud beta compute instances create ${INSTANCE_NAME}
--source-machine-image ${BASE_IMAGE_NAME}
--zone=${ZONE_NAME}
--create-disk=size=128GB,type=pd-balanced,name=${INSTANCE_NAME}-homedisk,device-name=homedisk
该命令的文档并没有建议--source-machine-image
和--create-disk
不能一起工作。当从机器映像创建虚拟机时,该属性将被覆盖,这表明任何属性都可以被覆盖。
对于可能发生的事情有什么见解吗?
这里的问题是--source-machine-image ${BASE_IMAGE_NAME}
旗因为你BASE_IMAGE_NAME必须已经拥有所需的额外的磁盘,这就是为什么它没有被创建,因为它是创建从BASE_IMAGE_NAME
没有额外的磁盘,尝试通过创建一个新的Machine image
附上所需的额外的磁盘,然后再次运行gcloud beta compute instances create
(第二个命令)和确认它创建实例基于Machine image
包括额外的磁盘。
如果您需要创建一个带有1个额外磁盘的新实例,您应该使用(您的第一个命令)--image ${NAME} --image-project ${PROJECT}
所以--source-machine-image
和--image ... --image-project
是非常不同的。
下面是Machine images
的文档,可以更好地解释这一点。https://cloud.google.com/compute/docs/machine-images