Всем привет.
Небольшая заметка как создать виртуальную машину из образа cloud-init и сделать шаблон для быстрой развертки.
Ссылки на образы в виде img-файлов будут внизу.
И так…
Cloud-init — программа инициализации (развертывания) виртуальных машин. Так же возможно локальное применение, но я пока до этого не дошел.
Так же использую в сценариях ansible для поднятия инфраструктуры.
Можно загрузить подготовленные образы (для освоения и\или ознакомления) или сделать свой.
Начнем с простого — используем готовый образ. Все действия выполняются в консоли (терминале) гипервизора proxmox.
Загрузим его. У меня пример на Ubuntu 24.04:
1 | wget https://cloud-images.ubuntu.com/releases/noble/release/ubuntu-24.04-server-cloudimg-amd64.img |
Теперь создадим вирт машину:
1 | qm create 400 --memory 2048 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci |
где:
- qm create — команда создания ВМ,
- 400 — id вирт машины,
- —memory 2048 — размер оперативной памяти в мегабайтах (2 ГБ),
- —net0 virtio,bridge=vmbr0 — сетевое устройство, которому указан тип и мост vmbr0,
- —scsihw — модель контроллера SCSI.
Здесь самый простой пример. Параметры используйте свои, тут просто для наглядности.
Вот что получилось если посмотреть в web-интерфейсе:
Для более подробной информации можно обратиться к справке:
1 | qm help create |
Либо в том же терминале посмотреть с помощью команды:
1 | qm config 400 |
Теперь импортируем скачанный образ на диск в системе и прикрепим к вирт машине:
1 | qm set 400 --scsi0 local-lvm:0,import-from=/root/ubuntu-24.04-server-cloudimg-amd64.img |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | update VM 400: -scsi0 local-lvm:0,import-from=/root/ubuntu-24.04-server-cloudimg-amd64.img Logical volume "vm-400-disk-0" created. transferred 0.0 B of 3.5 GiB (0.00%) transferred 35.8 MiB of 3.5 GiB (1.00%) transferred 71.7 MiB of 3.5 GiB (2.00%) transferred 111.5 MiB of 3.5 GiB (3.11%) transferred 147.3 MiB of 3.5 GiB (4.11%) transferred 183.5 MiB of 3.5 GiB (5.12%) transferred 219.3 MiB of 3.5 GiB (6.12%) transferred 255.2 MiB of 3.5 GiB (7.12%) transferred 291.0 MiB of 3.5 GiB (8.12%) transferred 326.9 MiB of 3.5 GiB (9.12%) transferred 362.7 MiB of 3.5 GiB (10.12%) transferred 398.9 MiB of 3.5 GiB (11.13%) transferred 434.7 MiB of 3.5 GiB (12.13%) transferred 470.6 MiB of 3.5 GiB (13.13%) transferred 506.4 MiB of 3.5 GiB (14.13%) transferred 542.3 MiB of 3.5 GiB (15.13%) transferred 578.5 MiB of 3.5 GiB (16.14%) transferred 614.3 MiB of 3.5 GiB (17.14%) transferred 650.1 MiB of 3.5 GiB (18.14%) transferred 686.0 MiB of 3.5 GiB (19.14%) transferred 721.8 MiB of 3.5 GiB (20.14%) transferred 757.7 MiB of 3.5 GiB (21.14%) transferred 793.9 MiB of 3.5 GiB (22.15%) transferred 829.7 MiB of 3.5 GiB (23.15%) transferred 865.5 MiB of 3.5 GiB (24.15%) transferred 901.4 MiB of 3.5 GiB (25.15%) transferred 937.2 MiB of 3.5 GiB (26.15%) transferred 973.1 MiB of 3.5 GiB (27.15%) transferred 1009.3 MiB of 3.5 GiB (28.16%) transferred 1.0 GiB of 3.5 GiB (29.16%) transferred 1.1 GiB of 3.5 GiB (30.16%) transferred 1.1 GiB of 3.5 GiB (31.16%) transferred 1.1 GiB of 3.5 GiB (32.16%) transferred 1.2 GiB of 3.5 GiB (33.17%) transferred 1.2 GiB of 3.5 GiB (34.17%) transferred 1.2 GiB of 3.5 GiB (35.17%) transferred 1.3 GiB of 3.5 GiB (36.17%) transferred 1.3 GiB of 3.5 GiB (37.17%) transferred 1.3 GiB of 3.5 GiB (38.17%) transferred 1.4 GiB of 3.5 GiB (39.18%) transferred 1.4 GiB of 3.5 GiB (40.18%) transferred 1.4 GiB of 3.5 GiB (41.18%) transferred 1.5 GiB of 3.5 GiB (42.18%) transferred 1.5 GiB of 3.5 GiB (43.18%) transferred 1.5 GiB of 3.5 GiB (44.18%) transferred 1.6 GiB of 3.5 GiB (45.19%) transferred 1.6 GiB of 3.5 GiB (46.19%) transferred 1.7 GiB of 3.5 GiB (47.19%) transferred 1.7 GiB of 3.5 GiB (48.19%) transferred 1.7 GiB of 3.5 GiB (49.19%) transferred 1.8 GiB of 3.5 GiB (50.19%) transferred 1.8 GiB of 3.5 GiB (51.20%) transferred 1.8 GiB of 3.5 GiB (52.20%) transferred 1.9 GiB of 3.5 GiB (53.20%) transferred 1.9 GiB of 3.5 GiB (54.20%) transferred 1.9 GiB of 3.5 GiB (55.20%) transferred 2.0 GiB of 3.5 GiB (56.21%) transferred 2.0 GiB of 3.5 GiB (57.21%) transferred 2.0 GiB of 3.5 GiB (58.21%) transferred 2.1 GiB of 3.5 GiB (59.21%) transferred 2.1 GiB of 3.5 GiB (60.21%) transferred 2.1 GiB of 3.5 GiB (61.21%) transferred 2.2 GiB of 3.5 GiB (62.22%) transferred 2.2 GiB of 3.5 GiB (63.22%) transferred 2.2 GiB of 3.5 GiB (64.22%) transferred 2.3 GiB of 3.5 GiB (65.22%) transferred 2.3 GiB of 3.5 GiB (66.22%) transferred 2.4 GiB of 3.5 GiB (67.22%) transferred 2.4 GiB of 3.5 GiB (68.23%) transferred 2.4 GiB of 3.5 GiB (69.23%) transferred 2.5 GiB of 3.5 GiB (70.23%) transferred 2.5 GiB of 3.5 GiB (71.23%) transferred 2.5 GiB of 3.5 GiB (72.23%) transferred 2.6 GiB of 3.5 GiB (73.24%) transferred 2.6 GiB of 3.5 GiB (74.24%) transferred 2.6 GiB of 3.5 GiB (75.24%) transferred 2.7 GiB of 3.5 GiB (76.24%) transferred 2.7 GiB of 3.5 GiB (77.24%) transferred 2.7 GiB of 3.5 GiB (78.24%) transferred 2.8 GiB of 3.5 GiB (79.25%) transferred 2.8 GiB of 3.5 GiB (80.25%) transferred 2.8 GiB of 3.5 GiB (81.25%) transferred 2.9 GiB of 3.5 GiB (82.25%) transferred 2.9 GiB of 3.5 GiB (83.25%) transferred 2.9 GiB of 3.5 GiB (84.25%) transferred 3.0 GiB of 3.5 GiB (85.26%) transferred 3.0 GiB of 3.5 GiB (86.26%) transferred 3.1 GiB of 3.5 GiB (87.26%) transferred 3.1 GiB of 3.5 GiB (88.26%) transferred 3.1 GiB of 3.5 GiB (89.26%) transferred 3.2 GiB of 3.5 GiB (90.27%) transferred 3.2 GiB of 3.5 GiB (91.27%) transferred 3.2 GiB of 3.5 GiB (92.27%) transferred 3.3 GiB of 3.5 GiB (93.27%) transferred 3.3 GiB of 3.5 GiB (94.27%) transferred 3.3 GiB of 3.5 GiB (95.27%) transferred 3.4 GiB of 3.5 GiB (96.28%) transferred 3.4 GiB of 3.5 GiB (97.28%) transferred 3.4 GiB of 3.5 GiB (98.28%) transferred 3.5 GiB of 3.5 GiB (99.28%) transferred 3.5 GiB of 3.5 GiB (100.00%) transferred 3.5 GiB of 3.5 GiB (100.00%) scsi0: successfully created disk 'local-lvm:vm-400-disk-0,size=3584M' |
Проверим в Web что диск добавился:
Теперь добавим CD-ROM для передачи данных cloud-init в ВМ:
1 | qm set 400 --ide2 local-lvm:cloudinit |
Вывод в терминале:
Проверим в web:
Установим загрузку ВМ с диска:
1 | qm set 400 --boot order=scsi0 |
Посмотрим в web:
Теперь сделаем шаблон из этой ВМ:
1 | qm template 400 |
В web видно её вот так:
Шаблон для быстрого развертывания вм на базе Ubuntu 24.04 готов.
Теперь можно его склонировать и новой ВМ в webui задать нужные параметры в разделе Cloud-Init.
Пример клонирования в webui:
Я использую полное клонирование — Full Clone. Остальные параметры по умолчанию, просто для примера. Для нормальных задач выставляются нужные параметры.
В терминале это можно сделать так (тут VM ID будет другим, т.к. я сделал через web и удалять не хочется):
1 | qm clone 400 106 --name "proxmoxcli" -full |
И проверка в web:
Теперь в разделе Cloud-Init можно задать необходимые параметры (указаны для примера):
Нажимаем Regenerate Image и можно запускать.
Процесс запуска ВМ.
После запуска надо ввести логин и пароль указанный в Cloud-Init:
После успешного логина будет доступна консоль:
Для более безопасного доступа к ВМ рекомендуется вместо пароля использовать SSH KEY.
Ссылки:
If you found an error, highlight it and press Shift + Enter or to inform us.