Развёртывание Fedora/CentOS bootc в vSphere
Предварительные требования
-
Вам понадобится инструмент govc.
-
Хост Linux с ядром 6.x или новее
По умолчанию cloud-init или гипервизорно-специфичные инструменты метаданных не включены
| Unlike Fedora Cloud or Fedora CoreOS (or in general many pre-generated disk images) the default base image does not include a tool such as cloud-init or afterburn to fetch SSH keys or execute scripts from the hypervisor. |
For more on this, see Cloud Agents.
Создание контейнерного образа, включающего агентов
В этой примерной сборке контейнера внедряются как open-vm-tools, так и cloud-init, чтобы SSH-учётные данные можно было внедрять при создании каждой виртуальной машины.
FROM <base image>
RUN dnf install -y open-vm-tools cloud-init && dnf clean all && rm -rf /var/cache /var/log/dnf && \
systemctl enable vmtoolsd.service
Также включите в свой образ дополнительное программное обеспечение или инструменты по желанию; см. Сборка контейнеров.
Создание VMDK с помощью bootc-image-builder
Для этого используется bootc-image-builder:
$ podman run --rm -it --privileged -v /var/lib/containers/storage:/var/lib/containers/storage -v .:/output --security-opt label=type:unconfined_t \
--pull newer quay.io/centos-bootc/bootc-image-builder:latest --local --rootfs xfs --type vmdk <ваш контейнерный образ>
Созданный файл VMDK будет находиться в vmdk/disk.vmdk.
Загрузка VMDK
govc import.vmdk \
-dc="${DATACENTER}" \
-ds="${DATASTORE}" \
-pool="${DATACENTER_POOL}" \
vmdk/disk.vmdk \
${DESTINATION_FOLDER}
Создание новой виртуальной машины из VMDK
govc vm.create \
-dc="${DATACENTER}" \
-ds="${DATASTORE}" \
-pool="{DATACENTER_POOL}" \
-net="${NETWORK}" \
-disk.controller=pvscsi \
-on=false \
-c=${CPUS} \
-m=${MEMORY} \
-g="rhel9_64Guest" \
-firmware="${FIRMWARE}" \
"${VM_NAME}"
Подключение VMDK к виртуальной машине
govc vm.disk.attach \
-dc="${DATACENTER}" \
-ds="${DATASTORE}" \
-vm="${VM_NAME}" \
-link=false \
-disk="${DESTINATION_FOLDER}/disk.vmdk"
Want to help? Learn how to contribute to Fedora Docs ›