Чи є сучасний еквівалент python-vm-builder?


11

Я намагаюся знайти найкращий практичний, сучасний спосіб робити те, що я раніше робив з python-vm-builder (він же ubuntu-vm-builder).

Я хочу, щоб сценарій, що повторюється, починався з чогось на зразок ubuntu-ядра (він же виконавця, який раніше називався JeOS ), додавати деякі пакунки, визначати первісні сценарії тощо.

Те, що я хочу, є чимось схожим на спінінг користувацького ISO (хоча це звичайно не буде ISO, це буде "встановлена" система). В результаті повинні бути ядро, initrd зображення та rootfs, що підходить для завантаження без PXE без дисків з NFS.

Які інструменти використовуються для створення скажімо зображення Ubuntu netboot (або будь-яких зображень Ubuntu для цього)? Чи достатньо вони гнучкі для моїх потреб?

Як щодо інструментів, які використовуються для створення середовищ із новою установкою, використовуваних для тестування інтеграції Ubuntu? Чи були вони доречними?

Зауважте, що під час виконання rootfs буде встановлено лише для читання, тому я не хочу керувати екземпляром з часом. Я прагну повторно накручувати автоматизовану установку при кожному новому випуску Ubuntu і періодично між ними протягом 6 місяців.


2
У мене немає відповіді, оскільки я не впевнений у поточному способі найкращої практики, але це підозріло звучить як завдання для шефа чи лялечки, можливо навіть бродячого.
Марко Цеппі

1
Чому vmbuilder вже не відповідає вашим потребам? Він використовується debootstrapдля створення базової системи ("chroot", яку потім можна скопіювати на образ диска). Погляньте і подивіться, чи допомагає це.
Салем

vmbuilder працював би, думаю, але це для довгострокової системи, тому я не хочу будувати на бітах, які вже мертві у воді.
jderose

Відповіді:


7

Ви можете використовувати офіційне зображення хмари безпосередньо, а потім створити невелике зображення ISO, використовуючи cloud-localdscloud-utilsпакета), щоб використовувати як джерело даних "nocloud" для cloud-init.

Потім ви можете використовувати хмарні дані користувача (приклад) як єдиний механізм для додавання пакетів та запуску власних сценаріїв першого запуску через хмарних постачальників, які надають офіційні зображення Ubuntu Cloud, а також у ваших локальних віртуальних машинах.

Якщо ви працюєте cloud-localdsбез параметрів, він відображатиме приклад використання для налаштування та запуску VM безпосередньо за допомогою kvm.

Щоб запустити VM іншим способом, просто надайте зображення хмари (наприклад, завантажене з https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img за 12.04). Перший диск та представити вихідний образ ISO cloud-localdsяк компакт-диск.

Більше інформації - у публікації блогу Скотта Мозера .


1
Я не впевнений, наскільки це було б застосовано, якщо ви хочете створити настільну систему.
Робі Басак

Спасибі! Це схоже на те, що я шукаю. І це середовище не для настільної системи, BTW. Я будую щось на зразок ефемерного середовища MAAS. Він повинен бути більш вичерпним, ніж скажімо, ядро ​​Ubuntu тільки, але я хотів би, щоб він був трохи меншим, ніж мінімальна установка сервера Ubuntu.
jderose

2

Я ніколи не пакував ISO, тому не можу коментувати власний досвід, але здається, що відповідь на ваше запитання - Cobbler ( http://cobbler.github.com ).

З документації спільноти Ubuntu:
"Ubuntu використовує шоблер як кращий сервер надання послуг для машин Ubuntu." -  https://help.ubuntu.com/community/Cobbler


1
help.ubuntu.com/community/Cobbler застарів. Я щойно просив його оновити. Вибачте, це раніше було пропущено.
Робі Басак

1
Спасибі! Хоча я, мабуть, міг би робити те, що хочу з Кобблером, але здається, що це занадто непосильне для того, що я прагну. Я не хочу, щоб послуга резервування (і складності, що її приносить), просто дуже простий інструмент забезпечення. Я шукаю щось більш високий рівень, ніж debootstrap, але все ж командний рядок або інструмент API для одноразового використання.
jderose

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.