我想用gcloud命令行创建一个Windows虚拟机。
尝试了"等效命令行"语法-语法错误。
经过一些尝试和错误后,发现——create-disk参数列表需要重复(请观察下面的脚本)。
gcloud compute instances create ifworker-0
--project=ceng-test
--zone=us-east4-c
--machine-type=n2-standard-2
--network-interface=nic-type=VIRTIO_NET
--network-tier=PREMIUM
--maintenance-policy=MIGRATE
--provisioning-model=STANDARD
--service-account=the-service-account
--scopes=https://www.googleapis.com/auth/cloud-platform
--tags=ifworker-net-0
--create-disk=mode=rw
--create-disk=size=40GB
--create-disk=type=projects/ceng-test/zones/us-central1-a/diskTypes/pd-balanced
--create-disk=boot=yes
--create-disk=auto-delete=yes
--create-disk=image=projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220513
--no-shielded-secure-boot
--shielded-vtpm
--shielded-integrity-monitoring
--reservation-affinity=any
然而,即使这样,脚本还是失败了——下面重现了这个错误。
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
- Invalid value for field 'resource.disks[0]': '{
"type": "PERSISTENT",
"mode": "READ_WRITE",
"boot": true,
"initializeParams": { },
"autoDele...'.
Boot disk must have a source specified.
这里需要一些指导。谢谢你的关注和时间。
根据命令检查,boot
和image
属性应该在同一行。
应该是这样的。
--create-disk=boot=yes,image=projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220513
根据GCP的文档,image
属性应该与--create-disk=[PROPERTY=VALUE,…]
参数包含在同一行,指定要初始化的映像的名称。
下面是我的命令:
gcloud compute instances create ifworker-0
--project=<project_name>
--zone=us-east4-c
--machine-type=n2-standard-2
--network-interface=nic-type=VIRTIO_NET
--network-tier=PREMIUM
--maintenance-policy=MIGRATE
--provisioning-model=STANDARD
--service-account=the-service-account
--scopes=https://www.googleapis.com/auth/cloud-platform
--tags=ifworker-net-0
--create-disk=mode=rw
--create-disk=size=40GB
--create-disk=type=projects/ceng-test/zones/us-central1-a/diskTypes/pd-balanced
--create-disk=boot=yes,image=projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220513
--create-disk=auto-delete=yes
--no-shielded-secure-boot
--shielded-vtpm
--shielded-integrity-monitoring
--reservation-affinity=any
注意:更改
为gcloud计算实例创建"每个磁盘应该只有一个——create-disk行。在其他情况下,创建多个磁盘。因为我们只需要一个磁盘,所以应该只有一行,所有参数用","分隔。
正确的示例如下:
gcloud compute instances create ifworker-0
--project=<project_name>
--zone=us-east4-c
--machine-type=e2-micro
--network-interface=nic-type=VIRTIO_NET
--network-tier=PREMIUM
--maintenance-policy=MIGRATE
--provisioning-model=STANDARD
--scopes=https://www.googleapis.com/auth/cloud-platform
--tags=ifworker-net-0
--create-disk=mode=rw,size=40GB,type=projects/<project_name>/zones/us-central1-a/diskTypes/pd-balanced,boot=yes,auto-delete=yes,image=projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220513
--no-shielded-secure-boot
--shielded-vtpm
--shielded-integrity-monitoring
--reservation-affinity=any