Gibt es ein modernes Äquivalent zu Python-VM-Builder?


11

Ich versuche, die beste und modernste Methode zu finden, um das zu tun, was ich früher mit Python-VM-Builder (auch bekannt als Ubuntu-VM-Builder) gemacht habe.

Ich möchte einen skriptbasierten, wiederholbaren Weg, um von etwas wie Ubuntu-Core (auch bekannt als der früher als JeOS bekannte Künstler ) zu beginnen, einige Pakete hinzuzufügen, zuerst ausgeführte Skripte zu definieren usw.

Was ich will, ist so etwas wie das Drehen einer benutzerdefinierten ISO (obwohl es keine ISO ist, wird es ein "installiertes" System sein). Das Ergebnis muss ein Kernel, ein initrd-Image und rootfs sein, die für einen plattenlosen PXE-Start mit NFS geeignet sind.

Mit welchen Tools wird beispielsweise das Ubuntu-Netboot-Image (oder Ubuntu-Images) erstellt? Sind sie flexibel genug für meine Bedürfnisse?

Wie wäre es mit den Tools, die zum Erstellen der für die Ubuntu-Integrationstests verwendeten Neuinstallationsumgebungen verwendet werden? Wären sie angemessen?

Beachten Sie, dass die Rootfs zur Laufzeit schreibgeschützt bereitgestellt werden, sodass ich nicht versuche, eine Instanz im Laufe der Zeit zu verwalten. Ich möchte bei jeder neuen Ubuntu-Version und in den 6 Monaten dazwischen regelmäßig eine automatisierte Installation durchführen.


2
Ich habe keine Antwort, da ich mir der aktuellen Best-Practice-Methode nicht sicher bin, aber das klingt verdächtig nach einer Aufgabe für Chef oder Puppet, möglicherweise sogar Vagrant.
Marco Ceppi

1
Warum passt vmbuilder nicht mehr zu Ihren Bedürfnissen? Es wird verwendet debootstrap, um das Basissystem zu erstellen (eine "Chroot", die dann auf ein Disk-Image kopiert werden kann). Schauen Sie nach, ob es hilft.
Salem

vmbuilder würde funktionieren, denke ich, aber dies ist für ein langfristiges System, also möchte ich nicht auf Bits aufbauen, die bereits tot im Wasser sind.
Jderose

Antworten:


7

Sie können ein offizielles Cloud-Image direkt verwenden und dann ein kleines ISO-Image erstellen, indem Sie cloud-localds(aus dem cloud-utilsPaket) als "Nocloud" -Datenquelle für Cloud-Init verwenden.

Anschließend können Sie Cloud-Init-Benutzerdaten (Beispiel) als einen einzigen Mechanismus verwenden, um Pakete hinzuzufügen und Ihre eigenen Skripts für die erste Ausführung zwischen Cloud-Anbietern auszuführen, die offizielle Ubuntu Cloud-Images sowie auf Ihren lokalen VMs bereitstellen.

Wenn Sie cloud-localdsohne Parameter ausführen , wird eine Beispielverwendung zum direkten Konfigurieren und Ausführen einer VM mit kvm angezeigt.

Um die VM auf andere Weise auszuführen, geben Sie einfach ein Cloud-Image (z. B. heruntergeladen von https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img für 12.04) als erste Diskette und präsentieren Sie die ISO-Image-Ausgabe cloud-localdsals CD-ROM.

Weitere Informationen finden Sie in Scott Mosers Blogbeitrag .


1
Ich bin mir nicht sicher, wie anwendbar dies wäre, wenn Sie mit einem Desktop-System enden möchten.
Robie Basak

Vielen Dank! Das sieht so aus, wie ich es suche. Und diese Umgebung ist übrigens nichts für ein Desktop-System. Ich baue etwas wie die kurzlebige MAAS-Umgebung. Es muss umfassender sein als nur der Ubuntu-Kern, aber ich möchte, dass es ein bisschen kleiner ist als eine minimale Ubuntu-Server-Installation.
Jderose

2

Ich habe noch nie eine ISO verpackt, daher kann ich aus eigener Erfahrung keinen Kommentar abgeben, aber es scheint, dass die Antwort auf Ihre Frage Cobbler ( http://cobbler.github.com ) lautet .

Aus der Ubuntu Community-Dokumentation:
"Ubuntu verwendet Cobbler als bevorzugten Bereitstellungsserver für Ubuntu-Computer." -  https://help.ubuntu.com/community/Cobbler


1
help.ubuntu.com/community/Cobbler ist veraltet. Ich habe gerade darum gebeten, dass es aktualisiert wird. Entschuldigung, das wurde vorher verpasst.
Robie Basak

1
Vielen Dank! Obwohl ich mit Cobbler wahrscheinlich machen könnte, was ich will, scheint es für das, was ich anstrebe, viel zu viel zu sein. Ich möchte keinen Bereitstellungsdienst (und die damit verbundenen Komplexitäten), sondern nur ein sehr einfaches Bereitstellungstool. Ich suche etwas Höheres als Debootstrap, aber immer noch eine Einweg-Befehlszeile oder ein API-Tool.
Jderose

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.