Есть ли современный эквивалент python-vm-builder?
Я пытаюсь найти лучший, современный способ делать то, что я делал с python-vm-builder (он же ubuntu-vm-builder).
Мне нужен сценарий, повторяемый способ начать с чего-то вроде Ubuntu-Core (он же художник, ранее известный как JeOS), добавить несколько пакетов, определить сценарии первого запуска и т. Д.
То, что мне нужно, это что-то вроде вращения собственного ISO (хотя это не ISO, это будет "установленная" система). Результатом должно быть ядро, образ initrd и rootfs, которые подходят для бездисковой загрузки PXE с NFS.
Какие инструменты используются для создания, скажем, образа сетевой загрузки Ubuntu (или любых образов Ubuntu в этом отношении)? Они достаточно гибки для моих нужд?
Как насчет инструментов, используемых для создания сред новой установки, используемых для интеграционного тестирования Ubuntu? Будут ли они уместны?
Обратите внимание, что во время выполнения rootfs будет монтироваться только для чтения, поэтому я не собираюсь управлять экземпляром с течением времени. Я рассчитываю повторять автоматическую установку при каждом новом выпуске Ubuntu и периодически в течение 6 месяцев.
3 ответа
Вы можете напрямую использовать официальный облачный образ, а затем создать небольшой ISO-образ, используя cloud-localds
(от cloud-utils
пакет) для использования в качестве источника данных "nocloud" для cloud-init.
Затем вы можете использовать user-data cloud-init (пример) в качестве единого механизма для добавления пакетов и запуска собственных сценариев первого запуска через облачных провайдеров, которые предоставляют официальные образы Ubuntu Cloud, а также на локальных виртуальных машинах.
Если вы бежите cloud-localds
без параметров будет показан пример использования для настройки и запуска виртуальной машины с использованием kvm напрямую.
Чтобы запустить виртуальную машину каким-либо другим способом, просто предоставьте образ облака (например, скачанный с https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img для 12.04) в качестве первый диск, и представить вывод ISO-образа с cloud-localds
как компакт-диск.
Больше информации в блоге Скотта Мозера.
Я никогда не упаковывал ISO, поэтому я не могу комментировать из своего собственного опыта, но похоже, что ответом на ваш вопрос является Cobbler ( http://cobbler.github.com/).
Из документации сообщества Ubuntu:
"Ubuntu использует cobbler в качестве предпочтительного сервера обеспечения для компьютеров с Ubuntu". - https://help.ubuntu.com/community/Cobbler
Для тех, кто ищет ответ на этот вопрос, Оз ( https://github.com/clalancette/oz) кажется действительно хорошим.