Contoh: image Ubuntu

Contoh ini menginstal image Ubuntu 18.04 (Bionic Beaver). Untuk membuat image versi Ubuntu yang berbeda, ikuti langkah-langkah ini dengan perbedaan yang dicatat.

Download ISO instalasi Ubuntu

Karena tujuannya adalah untuk membuat image dasar sekecil mungkin, contoh ini menggunakan ISO instalasi jaringan. ISO instalasi jaringan Ubuntu 64-bit 18.04 ada di Ubuntu download page.

Memulai proses instalasi

Mulailah proses instalasi dengan menggunakan virt-manager atau virt-install seperti yang dijelaskan di bagian sebelumnya. Jika Anda menggunakan virt-install, jangan lupa untuk menghubungkan klien VNC Anda ke mesin virtual.

Asumsikan bahwa nama image mesin virtual Anda adalah ubuntu-18.04, yang perlu Anda ketahui ketika Anda menggunakan perintah virsh untuk memanipulasi keadaan image.

Jika Anda menggunakan virt-manager, perintah harus terlihat seperti ini:

# wget -O /var/lib/libvirt/boot/bionic-mini.iso \
  http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso
# chown libvirt-qemu:kvm /var/lib/libvirt/boot/bionic-mini.iso
# qemu-img create -f qcow2 /var/lib/libvirt/images/bionic.qcow2 10G
# chown libvirt-qemu:kvm /var/lib/libvirt/images/bionic.qcow2
# virt-install --virt-type kvm --name bionic --ram 1024 \
  --cdrom=/var/lib/libvirt/boot/bionic-mini.iso \
  --disk /var/lib/libvirt/images/bionic.qcow2,bus=virtio,size=10,format=qcow2 \
  --network network=default \
  --graphics vnc,listen=0.0.0.0 --noautoconsole \
  --os-type=linux --os-variant=ubuntu18.04

Langkah keseluruhan instalasi

Pada menu Installer boot awal, pilih opsi Install. Ikuti langkah seluruh petunjuk instalasi, default seharusnya berjalan baik.

_images/ubuntu-install.png

Hostname

Installer akan meminta Anda untuk memilih nama host. Default (ubuntu) akan baik-baik saja. Kami akan menginstal paket cloud-init kemudian, dimana kami akan mengatur nama host pada boot ketika image baru ditetapkan menggunakan image ini.

Pilih mirror

Mirror default yang diusulkan oleh installer harus baik.

Ikuti seluruh langkah instalasi

Ikuti seluruh langkah instalasi, menggunakan opsi default. Ketika diminta untuk nama pengguna, default (ubuntu) ini baik-baik saja.

Partisi disk

Ada berbagai pilihan untuk partisi disk. Instalasi default akan menggunakan partisi LVM, dan akan menciptakan tiga partisi (/boot, /, swap), dan partisi ini akan bekerja dengan baik. Atau, Anda mungkin ingin membuat partisi tunggal ext4, dipasang (mount) pada "/", juga akan bekerja dengan baik.

Jika tidak yakin, sebaiknya Anda menggunakan skema partisi default installer, karena tidak ada keuntungan yang jelas untuk satu skema atau yang lain.

Pembaruan otomatis

Ubuntu installer akan bertanya bagaimana Anda ingin mengelola upgrade pada sistem Anda. Pilihan ini tergantung pada kasus penggunaan (use case) spesifik Anda. Jika instance mesin virtual Anda akan terhubung ke Internet, kami merekomendasikan "Install security updates automatically".

Pemilihan software: OpenSSH server

Pilih :guilabel: OpenSSH server sehingga Anda akan dapat SSH ke mesin virtual ketika peluncran dalam cloud OpenStack.

_images/ubuntu-software-selection.png

Menginstal GRUB boot loader

Pilih Yes ketika ditanya tentang menginstal GRUB boot loader ke master boot record.

_images/ubuntu-grub.png

Untuk informasi lebih lanjut tentang konfigurasi Grub, lihat bagian yang disebut "Pastikan image menulis catatan booting (boot log) ke konsol".

Log in image yang baru dibuat

Ketika Anda mem-boot untuk pertama kali setelah menginstal, ia mungkin bertanya tentang alat otentikasi, Anda bisa memilih Exit. Kemudian, masuk sebagai pengguna admin menggunakan kata sandi yang Anda tentukan.

Instal cloud-init

Skrip cloud-init memulai pada instance boot dan akan mencari penyedia metadata untuk mengambil kunci publik. Kunci publik akan ditempatkan di akun pengguna default untuk image.

Instal paket cloud-init:

# apt install cloud-init

Ketika membangun image Ubuntu cloud-init harus secara eksplisit dikonfigurasi untuk sumber metadata yang digunakan. Server metadata OpenStack mengemulasi layanan metadata EC2 yang digunakan oleh image di Amazon EC2.

Untuk mengatur sumber metadata yang akan digunakan oleh image jalankan perintah dpkg-reconfigure terhadap paket cloud-init. Ketika diminta (prompt) pilihlah sumber data EC2:

# dpkg-reconfigure cloud-init

Akun bervariasi menurut distribusi. Pada mesin virtual berbasis Ubuntu, akun ini disebut ubuntu. Pada mesin virtual berbasis Fedora, akun ini disebut ec2-user.

Anda dapat mengubah nama akun yang digunakan oleh cloud-init dengan mengedit file /etc/cloud/cloud.cfg dan menambahkan sebuah baris dengan pengguna yang berbeda. Misalnya, untuk mengkonfigurasi cloud-init untuk meletakkan kunci di akun bernama admin, gunakan sintaks berikut di file konfigurasi:

users:
  - name: admin
    (...)

Matikan instance

Dari dalam instance, sebagai root:

# /sbin/shutdown -h now

Bersihkan (hapus detail alamat MAC)

Sistem operasi mencatat alamat MAC dari kartu Ethernet virtual dalam lokasi seperti /etc/udev/rules.d/70-persistent-net.rules selama proses instalasi. Namun, setiap kali image boot up, kartu Ethernet virtual akan memiliki alamat MAC yang berbeda, sehingga informasi ini harus dihapus dari file konfigurasi.

Ada utilitas yang disebut virt-sysprep, yang melakukan berbagai tugas pembersihan seperti menghapus referensi alamat MAC. Utilitas Ini akan membersihkan image mesin virtual di tempat:

# virt-sysprep -d bionic

Tak ada penetapan domain libvirt

Sekarang bahwa image siap untuk di-upload ke layanan Image, Anda tidak lagi perlu memiliki image mesin virtual ini yang dikelola oleh libvirt. Gunakan perintah virsh undefine vm-image untuk menginformasikan libvirt:

# virsh undefine bionic

Image lengkap

File image dasar yang Anda buat dengan perintah qemu-img create, seperti /var/lib/libvirt/images/bionic.qcow2, sekarang siap untuk mengunggah ke layanan Image dengan menggunakan perintah openstack image create. Untuk informasi lebih lanjut, lihat Glance User Guide.