虽然我相信情况确实如此(不是 100% 确定),但在某一时刻,我可能已经能够创建可抢占/现货 GCE 实例的 GCE 机器映像……然后使用该映像构建具有非抢占设置的新 GCE VM 实例。
然而,我最近尝试执行此操作时遇到困难/不断收到错误,GCP 控制台/cli 输出给我以下错误:
Invalid value for field 'resource.scheduling.provisioningModel': 'STANDARD'. For preemptible, only allowed provisioning_model value is SPOT.
我的直觉告诉我,在 Google 推出 Spot VM(以取代之前在 VM 创建时提供的可抢占产品/设置)之前,此功能已经丢失了。
最终,我有一个用于测试的 Spot VM 实例……现在我想部署一个全天候运行的标准 VM,它是该 Spot VM 实例的副本,作为我继续使用它的起点。但不幸的是,我似乎无法这样做。
任何关于此问题的反馈或想法都将不胜感激。谢谢。
答案1
是的,这是可能的。以下是实现此目的的步骤:
- 使用以下命令对可抢占启动盘进行快照:
gcloud compute snapshots create $SNAPSHOT_NAME --source-disk $DISK_NAME --source-disk-zone $ZONE
- 使用以下命令从创建的快照创建一个新实例:
gcloud compute instances create $INSTANCE_NAME --source-snapshot=$SNAPSHOT_NAME --boot-disk-device-name=$DISK_NAME --zone=$ZONE
应该看到类似这样的输出:
NAME: non-preempt
ZONE: us-central1-a
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
INTERNAL_IP: x.x.x.x
EXTERNAL_IP: x.x.x.x
STATUS: RUNNING
非抢占式虚拟机是通过可抢占式启动盘创建的。
看一眼创建和管理磁盘快照和从启动磁盘快照创建新的 VM文档。