Cara Instalasi LXD Di openSUSE Tumbleweed

lxd opensuse.jpg
August 19, 2023
Uncategorized
Share

LXD tidak terpasang secara default, tetapi tersedia di repositori openSUSE Tumbleweed, sehingga kita hanya perlu menginstal tanpa perlu menambahkan repositori pihak ketiga.

💡
Linux container tidak sama dengan container aplikasi seperti Docker, CRI-O, atau di Kubernetes. Tujuan Linux container adalah untuk menyediakan seluruh lingkungan OS dengan cepat dan mudah tanpa biaya .

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.

Perbedaan VM dan LXC/LXD
💡
LXD adalah daemon yang berjalan di atas LXC dan memberikan pengalaman pengguna yang lebih baik.

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.

  1. Install LXD
    $ sudo zypper in lxd
  2. Tambahkan LXD ke pengguna saat ini
    $ sudo usermod -aG lxd $USER
  3. Jalankan service LXD
    $ sudo systemctl enable --now lxd
  4. Keluar atau mulai ulang openSUSE untuk menerapkan perubahan yang telah dilakukan.
  5. 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.

⚠️
Jangan menggabungkan instalasi melalui paket manajer dan Snap karena cara ini hanya akan membuat LXD mengalami error.

Recommended:  Cara Instalasi Snap Di Deepin 20.9

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

  1. Unduh images menggunakan perintah LXC init
    $ lxc init ubuntu:22.04 "nama-instance"

  2. 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
💡
Sesuaikan images dan nama instance, misalnya images menggunakan “Ubuntu” dan nama instance “maucariapa”.

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).

Recommended:  Schleswig-Holstein, Jerman resmi gunakan LibreOffice dan Linux

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.

Linux Containers – Image server