如何使用 Google Cloud SDK for java 创建 Preemptive VM?

How to create Preemptive VM using Google Cloud SDK for java?

我需要以编程方式创建抢占式 VM。我正在尝试使用 Google Cloud SDK 为 Java 创建虚拟机,但我找不到任何关于创建抢占式虚拟机的文档。

我怀疑您找不到答案是因为您在 "preemptive" 上搜索,而 Google 文档中使用的术语是 "preemptible"。所以你想要的答案都可以找到here at google

不过,在回答您的问题时,如果您正在为 Java 使用 Google Cloud SDK,那么当您创建实例时,您需要创建一个 "preemptible" 属性 在 "scheduling" 下,并将其设置为 true。

如果您通过 https 发送 SOAP 命令,则等效于:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances

{
  'machineType': 'zones/[ZONE]/machineTypes/[MACHINE_TYPE]',
  'name': '[INSTANCE_NAME]',
  'scheduling':
  {
    'preemptible': true
  },
  ...
}

... 如果您使用的是 Google Cloud SDK CLI,则需要使用 --preemtible 命令标志:

gcloud compute instances create [INSTANCE_NAME] --preemptible