gpt4 book ai didi

google-compute-engine - 同时创建多个 GCE VM 的脚本

转载 作者:行者123 更新时间:2023-12-03 08:59:32 25 4
gpt4 key购买 nike

我有一个基本的 SH 脚本,用于在 GCP 上创建多个虚拟机,它工作正常,但按顺序进行。当虚拟机数量超过 4 或 5 时,就会造成严重的时间延迟。我注意到,在 Dataflow 或 Dataproc 等平台中,几乎同时创建任意数量的虚拟机。有没有办法模仿 GCE 中的功能? (毕竟,无论如何,这些似乎都是基本的 GCE 机器)。

现在我使用以下(简化的)脚本:

vms=4
for i in `seq 1 $vms`
do

gcloud compute --project PROJECT disks create VM"$i" --size 50 --zone ZONE --type "pd-ssd"
gcloud beta compute --project=PROJECT instances create VM"$i" --zone=ZONE --machine-type=MACHINE_TYPE --subnet=default --maintenance-policy=MIGRATE --scopes=https://www.googleapis.com/auth/cloud-platform --disk=name=VM"$i",device-name=VM"$i",mode=rw,boot=yes,auto-delete=yes

done

感谢您的建议!

最佳答案

您可以通过 creating a group of managed VMs 更快地创建多个类似的虚拟机.

首先,create an instance template ,指定您需要的虚拟机配置:

gcloud compute instance-templates create TEMPLATE_NAME \
--machine-type MACHINE_TYPE \
--image-project IMAGE_PROJECT \ # project where your boot disk image is stored
--image IMAGE \ # boot disk image name
--boot-disk-type pd-ssd \
--boot-disk-size 50GB \
--boot-disk-auto-delete \
--boot-disk-device-name DEVICE_NAME \ # boot disk device name, the same for all VMs
--subnet default \
--maintenance-policy MIGRATE \
[...]

注意:

  • 您将启动磁盘指定为实例模板的一部分。
  • 无需为实例模板指定区域。您将在创建实例组时指定所需的区域。
  • 组中所有虚拟机的启动磁盘的设备名称相同。这不是冲突,因为特定磁盘的设备名称是 seen from guest OS每个特定虚拟机的并且是该虚拟机本地的。
  • 其他参数与创建虚拟机时相同。

然后,根据此模板创建一组 4 个(或 100 个或 1000 多个)虚拟机:

gcloud compute instance-groups managed create GROUP_NAME \
--zone ZONE \
--template TEMPLATE_NAME \ # name of the instance template that you have just created
--size 4 \ number of VMs that you need to create

该小组根据您的模板创建多个类似的虚拟机,速度比您通过迭代创建独立虚拟机快得多。

关于google-compute-engine - 同时创建多个 GCE VM 的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51969240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com