Apakah ada padanan modern dari python-vm-builder?


11

Saya mencoba menemukan cara terbaik, praktik modern untuk melakukan apa yang saya lakukan dengan python-vm-builder (alias ubuntu-vm-builder).

Saya ingin skrip, cara yang berulang untuk memulai dari sesuatu seperti ubuntu-core (alias artis yang sebelumnya dikenal sebagai JeOS ), menambahkan beberapa paket, mendefinisikan skrip first-run, dll.

Apa yang saya kejar adalah sesuatu yang mirip dengan pemintalan ISO kustom (meskipun tidak akan menjadi ISO, itu akan menjadi sistem yang "diinstal"). Hasilnya harus berupa kernel, gambar initrd, dan rootfs yang cocok untuk boot PXE tanpa disk dengan NFS.

Alat apa yang digunakan untuk membuat katakanlah gambar netboot Ubuntu (atau gambar Ubuntu dalam hal ini)? Apakah mereka cukup fleksibel untuk kebutuhan saya?

Bagaimana dengan alat yang digunakan untuk membuat lingkungan instalasi baru yang digunakan untuk pengujian integrasi Ubuntu? Apakah itu pantas?

Perhatikan bahwa saat dijalankan rootfs akan di-mount hanya-baca, jadi saya tidak ingin mengelola sebuah instance dari waktu ke waktu. Saya ingin memutar ulang instalasi otomatis di setiap rilis Ubuntu baru, dan secara berkala dalam 6 bulan antara.


2
Saya tidak punya jawaban, karena saya tidak yakin dengan cara praktik terbaik saat ini, tetapi ini terdengar mencurigakan seperti tugas untuk Chef atau Wayang, bahkan mungkin Vagrant.
Marco Ceppi

1
Mengapa vmbuilder tidak sesuai dengan kebutuhan Anda lagi? Ini digunakan debootstrapuntuk membuat sistem dasar ("chroot" yang kemudian dapat disalin ke disk image). Lihatlah dan lihat apakah itu membantu.
Salem

Vmbuilder akan bekerja, saya pikir, tapi ini untuk sistem jangka panjang, jadi saya tidak ingin membangun bit yang sudah mati di dalam air.
jderose

Jawaban:


7

Anda dapat menggunakan gambar cloud resmi secara langsung, dan kemudian membuat gambar ISO kecil menggunakan cloud-localds(dari cloud-utilspaket) untuk digunakan sebagai sumber data "nocloud" ke cloud-init.

Lalu, Anda dapat menggunakan cloud-init userdata (contoh) sebagai mekanisme tunggal untuk menambahkan paket dan menjalankan skrip run pertama Anda sendiri di penyedia cloud yang menyediakan gambar Cloud Ubuntu resmi serta di VM lokal Anda.

Jika Anda menjalankan cloud-localdstanpa parameter, itu akan menampilkan contoh penggunaan untuk mengkonfigurasi dan menjalankan VM menggunakan kvm secara langsung.

Untuk menjalankan VM dengan cara lain, cukup sediakan gambar cloud (mis. Diunduh dari https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img untuk 12,04) sebagai disk pertama, dan sajikan output gambar ISO dari cloud-localdssebagai CD-ROM.

Informasi lebih lanjut ada di posting blog Scott Moser .


1
Saya tidak yakin bagaimana ini berlaku jika Anda ingin berakhir dengan sistem desktop.
Robie Basak

Terima kasih! Ini seperti hal yang saya cari. Dan lingkungan ini bukan untuk sistem desktop, BTW. Saya sedang membangun sesuatu yang sedikit seperti lingkungan singkat MAAS. Perlu lebih komprehensif daripada mengatakan inti Ubuntu saja, tapi saya ingin itu menjadi sedikit lebih kecil daripada menginstal server Ubuntu minimal.
jderose

2

Saya tidak pernah mengemas ISO, jadi saya tidak bisa berkomentar dari pengalaman saya sendiri, tetapi tampaknya jawaban untuk pertanyaan Anda adalah Cobbler ( http://cobbler.github.com ).

Dari Dokumentasi Komunitas Ubuntu:
"Ubuntu menggunakan tukang sepatu sebagai server penyedia pilihan untuk mesin Ubuntu." -  https://help.ubuntu.com/community/Cobbler


1
help.ubuntu.com/community/Cobbler kedaluwarsa. Saya baru saja meminta itu diperbarui. Maaf ini tidak terjawab sebelumnya.
Robie Basak

1
Terima kasih! Meskipun saya mungkin bisa melakukan apa yang saya inginkan dengan Cobbler, sepertinya terlalu sulit untuk apa yang saya tuju. Saya tidak ingin layanan penyediaan (dan kompleksitas yang membawa), hanya alat penyediaan yang sangat sederhana. Saya mencari sesuatu yang tingkat lebih tinggi dari debootstrap, tetapi masih berupa baris perintah sekali pakai atau alat API.
jderose

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.