LXD tidak terpasang secara default, tetapi tersedia di repositori openSUSE Tumbleweed, sehingga kita hanya perlu menginstal tanpa perlu menambahkan repositori pihak ketiga.
LXD memungkinkan pengguna melakukan pengembangan aplikasi maupun website tanpa perlu khawatir sistem kita akan terganggu ketika kita melakukan pengembangan atau uji coba. Secara sederhana, container adalah OS didalam OS.
Instalasi LXD
Ada dua cara menginstal LXD, yaitu melalui paket manajer dan Snapcraft. Pada tutorial ini, saya akan menggunakan metode paket manajer karena lebih mudah dilakukan dan lebih minim kendala.
- Install LXD
$ sudo zypper in lxd
- Tambahkan LXD ke pengguna saat ini
$ sudo usermod -aG lxd $USER
- Jalankan service LXD
$ sudo systemctl enable --now lxd
- Keluar atau mulai ulang openSUSE untuk menerapkan perubahan yang telah dilakukan.
- Periksa apakah service LXD sudah berjalan atau belum
$ sudo systemctl status lxd
Jika menampilkan pesan:
â—lxd.service - LXD Container Hypervisor
Loaded: loaded (/usr/lib/systemd/system/lxd.service; enabled; preset: disabled)
Active: active (running) since Sun 2023-07-16 10:22:57 WIB; 5h 0min ago
Artinya LXD telah berjalan, jika belum maka jalankan service LXD terlebih dahulu menggunakan perintah $ sudo systemctl start lxd
.
Sampai disini, proses instalasi LXD telah selesai. Selanjutnya kita mulai melakukan konfigurasi agar LXD dapat digunakan dengan baik.
LXD Init
LXD init adalah perintah untuk melakukan konfigurasi dasar pada LXD, metode ini berlaku untuk metode instalasi melalui paket manajer maupun melalui Snapcraft.
Jalankan perintah $ lxc init
.
Kemudian jawab pertanyaan-pertanyaan yang ada, jika bingung ikuti saja jawaban default yang ada dalam tanda [ ].
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (dir, lvm, btrfs) [default=btrfs]:
Would you like to create a new btrfs subvolume under /var/lib/lxd? (yes/no) [default=yes]:
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto†or “noneâ€) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto†or “noneâ€) [default=auto]:
Would you like the LXD server to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]:
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
Konfigurasi LXD & Firewall
Agar instance di LXD dapat mengakses internet menggunakan jaringan yang ada (WiFi atau LAN), LXD harus diizinkan oleh Firewall untuk mengakses IPv4. Gunakan perintah dibawah ini untuk mengizinkan LXD di Firewall
$ lxc network set lxdbr0 ipv4.firewall false
$ firewall-cmd --zone=trusted --change-interface=lxdbr0 --permanent
$ firewall-cmd --reload
Buat dan Jalankan Instance
-
Unduh images menggunakan perintah
LXC init
$ lxc init ubuntu:22.04 "nama-instance"
-
Lihat daftar instance yang ada dengan perintah
$ lxc list
.
Hasilnya akan tampil seperti ini:
NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
---|---|---|---|---|---|
maucariapa | CONTAINER | 0 | |||
ubuntu | CONTAINER | 0 |
Karena instance belum dijalankan, kolom STATE, IPV4, dan IPV6 tidak terisi, setelah instance dijalankan menggunakan perintah $ lxc start "nama-instance"
(sesuaikan nama instance berdasarkan nama instance dari perintah lxc list
).
Akses Instance
Setelah perintah lxc start "nama-instance"
dijalankan, langkah selanjutnya yaitu mengakses instance menggunakan perintah $ lxc exec "nama-instance" bash
(Bash
adalah shell yang akan digunakan).
Jika berhasil, terminal akan menampilkan user root dan nama instance yang baru saja diakses, misalnya root@maucariapa:~#
.
Untuk menguji apakah internet berfungsi dengan baik, jalankan perintah # apt update
.
Kesimpulan
LXD tidak hanya tersedia untuk distribusi openSUSE atau Ubuntu saja, tetapi untuk semua distribusi Linux terutama yang menggunakan systemd
. Jika distribusi Linux yang Anda gunakan tidak menyediakan LXD di repositori mereka, Anda dapat menggunakan metode Snap untuk mendapatkan LXD.
Bonus
Berikut ini adalah images yang didukung atau tersedia di LXD.
Saran artikel ini dibuat oleh Kudatuli Project
FlexClip adalah solusi pengeditan video yang paling mudah digunakan untuk pemula.