Apakah mungkin untuk menyebarkan gambar desktop ke workstation kantor saya dari MAAS?
Saya ingin melihat skenario di mana workstation memiliki shell grafis dan beberapa instance KVM boot PXE siap untuk digunakan. Saya memahami bahwa ada kemungkinan seseorang mengalami penalti kinerja yang parah untuk beberapa proses seperti mungkin GUI itu sendiri, tetapi itu tidak menarik bagi saya saat ini.
Saya dapat membayangkan beberapa jalan untuk dilalui dan memberi Anda kesan:
- Buat gambar penerapan khusus. Dan terapkan ke cluster.
- Tambahkan beberapa detail tambahan ke skrip commissioning/deploy.
- Buat juju charm yang berisi desktop dan tetapkan ke setiap mesin dalam zona maas.
Tapi ini hanya ide. Bagaimana saya melakukannya?
Jawaban yang Diterima:
curtinator
[a] dapat membantu Anda menyesuaikan gambar desktop Ubuntu yang dapat digunakan oleh MAAS.
Silakan buka [a] dan unduh curtinator
sumber oleh bzr
. README
dari sumber proyek curtinator harus cukup untuk memandu Anda membuat gambar desktop Ubuntu yang dapat di-deploy MAAS dan diimpor oleh MAAS. Namun, izinkan saya mengilustrasikan langkah-langkah “terlalu rinci”[b] untuk Anda menurut README. Saya telah menguji langkah-langkah ini pada MAAS 2.1.3 dengan gambar desktop Ubuntu Xenial 16.04.1. Anda dapat melewati langkah-langkah berikut jika menurut Anda README sudah cukup untuk Anda.
Siapkan Lingkungan
- Saya menguji langkah-langkah ini di sistem Desktop Ubuntu Xenial 16.04.1.
sudo apt-get install qemu-kvm libvirt-bin virt-viewer genisoimage
- Reboot sistem setelah Anda menginstal paket-paket di atas.
bzr branch lp:curtinator
untuk mengambil sumber curtinator (Anda mungkin perlu menginstal bzr dengansudo apt-get install bzr
) di suatu tempat, katakan<curtinator root>
- Unduh gambar desktop Ubuntu. Dalam hal ini, kami memilih
ubuntu-16.04.1-desktop-amd64.iso
dan taruh di<curtinator root>
Gunakan curtinator
- Buka sumber curtinator yang diunduh
<curtinator root>
- Di
<curtinator root>
, jalankan./scripts/curtinator ubuntu-16.04.1-desktop-amd64.iso
- Jika semuanya bekerja dengan baik, Anda akan mendapatkan
ubuntu-16.04.1-desktop-amd64.iso.tar.gz
tarball di<curtinator root>
.
Pesan konsol terlihat seperti:
$ ./scripts/curtinator ubuntu-16.04.1-desktop-amd64.iso
Extracting ubuntu-16.04.1-desktop-amd64.iso to ubuntu-16.04.1-desktop-amd64
Creating ubuntu-16.04.1-desktop-amd64/casper/preseed.cfg
Patching ubuntu-16.04.1-desktop-amd64/casper/initrd.lz with ubuntu-16.04.1-desktop-amd64/casper/preseed.cfg
Creating ubuntu-16.04.1-desktop-amd64/root.qcow2
Creating ubuntu-16.04.1-desktop-amd64/libvirt.xml
Starting domain ubuntu-16.04.1-desktop-amd64
Domain ubuntu-16.04.1-desktop-amd64 defined from ubuntu-16.04.1-desktop-amd64/libvirt.xml
Domain ubuntu-16.04.1-desktop-amd64 started
Installing, run this command for progress:
# virt-viewer ubuntu-16.04.1-desktop-amd64
Compressing tarball
Finished ubuntu-16.04.1-desktop-amd64.iso.tar.gz
Harap diperhatikan bahwa jalur relatif penting saat menjalankan curtinator.
Unggah gambar desktop Ubuntu 16.04.1 yang Disesuaikan
scp ubuntu-16.04.1-desktop-amd64.iso.tar.gz <your MAAS server>
- Di server MAAS Anda (milik saya adalah MAAS 2.1.3.x), jalankan
maas $YOUR_MAAS_PROFILE boot-resources create -d name=<YOUR_CUSOMIZED_ISO_NAME> architecture=amd64/generic filetype=tgz [email protected]=<where your ubuntu-16.04.1-desktop-amd64.iso.tar.gz is>
.
Dalam kasus saya, ini adalah
maas askubuntuprofile boot-resources create -d name=custome_desktop_16-04-01 architecture=amd64/generic filetype=tgz [email protected]=/home/ubuntu/ubuntu-16.04.1-desktop-amd64.iso.tar.gz
YOUR_CUSOMIZED_ISO_NAME
adalah nama label yang akan ditampilkan di dasbor MAAS Anda saat Anda memilih gambar mana yang ingin Anda terapkan. Dalam kasus saya, ini adalah custome_desktop_16-04-01
. Anda dapat melihat bahwa ada gambar khusus yang disinkronkan di tangkapan layar dasbor MAAS berikut.
Tunggu beberapa menit hingga disinkronkan.
Sekarang Anda dapat menerapkan gambar desktop yang disesuaikan ini seperti biasa. Pilih tab Custom
dan nama gambar desktop kustom Anda seperti ini:
[a] https://launchpad.net/curtinator
[b] Terlalu banyak detail sehingga saya tidak akan memperbarui README; )