Мы создаем виртуальные машины с terraform, как описано в этом примере:
https://www.terraform.io/docs/providers/vsphere/r/virtual_machine.html#cloning-and-customization-example
Мы хотим, чтобы каждая новая машина имела свой размер для своего корневого раздела без создания десятков исходных файлов.виртуальные машины.
Источником нашего клона является снимок Ubuntu (16.04).Снимок имеет корневой диск, на который выделено 20 ГБ.
При создании связанного клона размер диска клона должен соответствовать размеру снимка.Чтобы иметь возможность изменять размер дисков на клонированных виртуальных машинах, мы используем полные клоны.
Это прекрасно работает, за исключением того, что новый размер диска не назначен ни одному разделу клона.Корневой раздел всегда имеет размер исходного раздела vms.Я должен назначить нераспределенное пространство вручную после создания виртуальной машины.
resource "vsphere_virtual_machine" "vm" {
count = "${var.count}"
name = "${var.stage}-${var.name}-${count.index}"
...
network_interface {
network_id = "${data.vsphere_network.network.id}"
adapter_type = "${data.vsphere_virtual_machine.source_vm.network_interface_types[0]}"
}
disk {
label = "disk0"
# This is to static for our use case as we will always result in VMs
# having the same disk size
#size = "${data.vsphere_virtual_machine.source_vm.disks.0.size}"
size = "${var.disk_size}" # Ideally this one should be appplied to the root partition :)
eagerly_scrub = false
thin_provisioned = false
}
clone {
template_uuid = "${data.vsphere_virtual_machine.source_vm.id}"
# use full clones to adopt disk size
linked_clone = false
customize {
linux_options {
...
}
network_interface {}
}
}
}
Я не эксперт по vSphere, но мне не хватает чего-то вроде изображений и вариантов, так как они есть в Openstack.
Есть ли возможность при работе с Terraform и vSphere создать клон / новую виртуальную машину и изменить размер (корневого) диска в процессе клонирования?