GNU/Linux >> Belajar Linux >  >> Cent OS

Instal LXC (Linux Containers) di RHEL, Rocky &AlmaLinux

LXD digambarkan sebagai container generasi berikutnya dan manajer mesin virtual yang menawarkan pengalaman mendalam untuk sistem Linux yang berjalan di dalam container atau sebagai mesin virtual.

Ini menyediakan gambar untuk banyak sekali distribusi Linux dengan dukungan untuk berbagai pilihan backend penyimpanan dan jenis jaringan. Ini juga menyediakan opsi untuk menginstal gambar pada PC/laptop individu dan bahkan pada instance cloud.

LXD memungkinkan Anda mengelola container dan VM menggunakan tiga cara. Anda dapat memanfaatkan klien lxc atau alat baris perintah, REST API, atau bahkan integrasi pihak ketiga.

Fitur LXD

LXD yang terkenal fitur termasuk:

  • LXD berbasis gambar dengan gambar untuk berbagai pilihan distribusi Linux.
  • Dibangun dengan keamanan sebagai prioritas utama.
  • Ini menyediakan REST API dan alat baris perintah lxc untuk berinteraksi dengan container.
  • Ini memberikan dukungan untuk berbagai macam backend penyimpanan, volume penyimpanan, dan kumpulan penyimpanan.
  • Manajemen jaringan dilakukan melalui pembuatan jaringan jembatan dan terowongan lintas-host.
  • Kontrol lanjutan atas sumber daya seperti CPU, RAM, penggunaan disk, blok I/O, dan sumber daya kernel.
  • Fleksibel dan skalabel – Anda dapat menerapkan container di PC dan mengonfigurasi cluster yang dapat menggabungkan ribuan container di berbagai node.

Apa itu LXC?

Jangan bingung dengan lxc alat klien baris perintah yang disediakan oleh LXD , LXC (Penampung Linux ) adalah teknologi virtualisasi tingkat OS populer yang menggunakan API andal dan alat lain untuk memungkinkan pengguna membuat dan mengelola wadah dan mesin virtual dengan mulus dalam satu host. Ini terdiri dari template, bahasa alat, dan binding perpustakaan.

Fitur LXC

LXC memanfaatkan fitur kernel berikut untuk menangani proses:

  • Ruang nama kernel:pid, mount, jaringan uts, dan pengguna.
  • Grup (grup kontrol).
  • Croot – Menggunakan pivot_root.
  • Kebijakan Seccomp.
  • Profil SELinux dan Apparmor.

Linuxcontainers.org adalah proyek payung di balik kedua LXD dan LXC . Tujuannya adalah untuk menawarkan platform distro dan vendor-netral untuk teknologi container Linux.

Dengan tidak adanya pengenalan tersebut, sekarang kami akan menunjukkan cara membuat dan mengelola LXC container pada distribusi Linux berbasis RHEL seperti CentOS , Linux Rocky, dan AlmaLinux .

Persyaratan

Sistem operasi Linux yang berfungsi dengan instalasi minimal:

  • Instalasi RHEL Linux
  • Instalasi CentOS Linux
  • Instalasi Rocky Linux
  • Instalasi AlmaLinux

Langkah 1:Setel SELinux ke Mode Permisif

Langsung saja, kita akan mulai dengan mengonfigurasi SELinux dan mengaturnya ke permisif. Namun sebelum kita melakukannya, mari kita perbarui paket sistem sebagai berikut:

$ sudo dnf update

Untuk menyetel SELinux untuk permisif, jalankan perintah:

$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Agar ini berlaku, reboot server Anda.

$ sudo reboot

Dan konfirmasikan status SELinux .

$ getenforce

Langkah 2:Instal Repositori EPEL

EPEL adalah repositori dari Proyek Fedora yang menyediakan satu set paket berkualitas tinggi untuk RedHat Enterprise Linux dan distribusi berbasis RHEL lainnya.

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
$ sudo yum install epel-release

Langkah 3:Tambahkan Parameter Kernel

Sebelum kita menginstal LXD , beberapa parameter tambahan diperlukan. Oleh karena itu beralih ke pengguna root:

$ su -

Dan tambahkan parameter sebagai berikut.

$ grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
$ grubby --args="namespace.unpriv_enable=1" --update-kernel="$(grubby --default-kernel)"
$ echo "user.max_user_namespaces=3883" | sudo tee -a /etc/sysctl.d/99-userns.conf

Setelah parameter tersedia, lanjutkan dan aktifkan Snap.

Langkah 4:Instal dan Aktifkan Snap

Cara termudah untuk menginstal LXD di RHEL 8 adalah memasangnya sebagai jepret kemasan. Tapi pertama-tama, mari kita pasang snap sebagai berikut.

$ sudo dnf install snapd

Ini akan menginstal snapd daemon atau layanan bersama dependensi Python lainnya seperti yang ditunjukkan.

Dengan snap terpasang, lanjutkan dan aktifkan snap utama soket komunikasi.

$ sudo systemctl enable --now snapd.socket

Selain itu, aktifkan dukungan klasik dengan membuat symlink dari /var/lib/snapd/snap untuk /jepret .

$ sudo ln -s /var/lib/snapd/snap  /snap

Untuk memperbarui jepret jalur, mulai ulang sistem Anda.

$ sudo reboot

Langkah 5:Instal Pengelola Kontainerisasi LXD

Ada dua cara memasang LXD dari jepret . Anda dapat menginstal versi terbaru LXD seperti yang ditunjukkan.

$ sudo snap install —-classic lxd

Atau, Anda dapat menginstal LTS stabil terbaru versi sebagai berikut:

$ sudo snap install lxd --channel=4.0/stable

Untuk dapat menjalankan lxc perintah tanpa beralih ke pengguna sudo, tambahkan pengguna yang saat ini masuk ke lxd grup.

$ sudo usermod -aG lxd $USER

Verifikasi bahwa pengguna telah ditambahkan ke lxd grup dengan mendaftar semua grup milik pengguna.

$ groups tecmint

Selanjutnya, jalankan newgrp perintah sebagai berikut.

$ newgrp lxd

Perintah mengubah ID grup saat ini selama sesi login. Ini menetapkan ID grup saat ini ke grup bernama yaitu lxd .

Langkah 6:Inisialisasi Lingkungan LXD

Sebelum kita mulai membuat dan mengelola LXD container, kita perlu menginisialisasi LXD lingkungan dengan menjalankan perintah.

$ lxc init

Berikut ini adalah serangkaian petunjuk yang memungkinkan Anda mengatur lingkungan Anda. Defaultnya akan berfungsi dengan baik, tetapi silakan tentukan preferensi Anda sendiri.

Kami telah membuat kumpulan penyimpanan yang disebut tec-pool dengan lvm opsi sebagai backend.

Untuk memverifikasi LXD lingkungan yang baru saja Anda konfigurasikan, ada sejumlah perintah yang dapat Anda gunakan. Misalnya, untuk menampilkan profil LXD default, jalankan:

$ lxc profile show default

Untuk menampilkan adaptor jaringan dan IPv4 dan IPv6 alamat, jalankan:

$ lxc network list

Anda dapat mempersempitnya lebih jauh dan menampilkan informasi yang lebih baik tentang lxdbr0 antarmuka sebagai berikut.

$ lxc network show lxdbr0

Anda juga dapat memverifikasi kumpulan penyimpanan.

$ lxc storage list

Anda bisa mendapatkan detail rumit lebih lanjut tentang kumpulan penyimpanan.

$ lxc storage show tec-pool

Untuk daftar menjalankan lxc container, jalankan perintah:

$ lxc list

Saat ini, kami belum memiliki wadah yang berjalan. Jadi Anda akan mendapatkan tabel kosong hanya dengan label kolom.

Langkah 7:Mencantumkan Gambar Kontainer LXC Prebuilt

Sama seperti Docker , LXC platform menyediakan repositori gambar pra-bangun tempat Anda dapat membuat wadah. Untuk membuat daftar semua gambar bawaan untuk semua sistem operasi termasuk mesin virtual, jalankan perintah:

$ lxc image list images: 

Ini mengisi daftar besar gambar kontainer dan mesin virtual untuk semua sistem operasi. Untuk mempersempit distribusi Linux tertentu, gunakan sintaks:

$ lxc image list images: grep -i os-type

Misalnya, untuk mencari gambar yang tersedia untuk Linux Rocky , jalankan perintah:

$ lxc image list images: grep -i rocky

Jika Anda mencari Debian gambar, jalankan perintah:

$ lxc image list images: grep -i debian

Langkah 8:Meluncurkan Kontainer LXC

Untuk meluncurkan lxc wadah, gunakan sintaks:

$ lxc launch images:{distro}/{version}/{arch} {container-name-here}

Di sini, kami akan meluncurkan 2 kontainer:tec-container1 dari Debian 10 dan tec-container2 dari Rocky Linux 8 .

$ lxc launch images:debian/10/amd64 tec-container1
$ lxc launch images:rockylinux/8/amd64 tec-container2 

Untuk mencantumkan lxc container, jalankan perintah:

$ lxc list

Outputnya menampilkan sejumlah informasi tentang kontainer. Ini termasuk nama container, status – apakah sedang berjalan atau berhenti – alamat IPv4 dan IPv6, jenis (apakah container atau mesin virtual), dan sejumlah snapshot.

Untuk membuat daftar container yang sedang berjalan saja, jalankan perintah:

$ lxc list | grep -i running

Demikian juga, untuk kontainer yang dihentikan, jalankan:

$ lxc list | grep -i stopped

Anda dapat menyelidiki informasi dan metrik container seperti proses yang berjalan, penggunaan CPU &memori, dan bandwidth untuk menyebutkan beberapa menggunakan perintah:

$ lxc info tec-container1 

Langkah 9:Dapatkan Akses Shell ke Kontainer LXC

Anda bisa mendapatkan akses bash ke wadah menggunakan sintaks:

$ lxc exec container-name  name-of-the-shell

Untuk mendapatkan akses shell ke tec-container1 , kita akan menjalankan perintah:

$ lxc exec tec-container1 bash

Setelah mendapatkan akses shell, Anda dapat mulai berinteraksi dengan container sebagai pengguna root dengan menjalankan perintah shell umum termasuk memperbarui sistem seperti yang ditunjukkan:

$ apt update

Untuk keluar dari container, jalankan perintah:

$ exit

Atau, Anda dapat menjalankan perintah secara langsung pada wadah tanpa mengakses shell menggunakan format berikut:

$ lxc exec container-name command

Misalnya, Anda dapat menjalankan perintah berikut yang akan memperbarui daftar paket, periksa versi OS yang berjalan pada wadah Debian dan periksa tanggalnya.

$ lxc exec tec-container1 apt update
$ lxc exec tec-container1 cat /etc/debian_version
$ lxc exec tec-container1 date

Langkah 10:Tarik / Dorong File ke Wadah LXC

Operasi lain yang dapat Anda lakukan adalah mentransfer file ke dan dari wadah. Untuk mendemonstrasikan ini, kami akan membuat direktori baru di LXD wadah dan navigasikan ke dalamnya.

# mkdir data && cd data

Selanjutnya, kita akan membuat file sampel dan menambahkan beberapa data. Untuk melakukannya, kami akan membuat file sampel dengan vim editor

# vim file1.txt

Selanjutnya, kita akan mengetikkan beberapa contoh teks dan menyimpan file tersebut.

Hello World, Welcome to LXD containers.

Untuk menarik file dari wadah ke sistem host lokal, kita akan menggunakan sintaks:

$ lxc file pull {container-name}/{path/to/file} {/path/to/local/dest}

Dalam hal ini, perintahnya adalah:

$ lxc file pull tec-container2/root/data/file1.txt /home/tecmint

Untuk mendorong atau menyalin file dari direktori lokal ke wadah, gunakan sintaks:

$ lxc file push {/path/to/file} {container-nane} /path/to/dest/dir/

Dalam hal ini, kami memiliki file sampel di direktori home bernama file2.txt disalin ke /root/data/ jalur di tec-container2 wadah.

$ lxc file push /home/tecmint/file2.txt tec-container2/root/data/

Untuk mengkonfirmasi keberadaan file dalam wadah, kami akan menjalankan:

$ lxc exec tec-container2 ls /root/data

Langkah 11:Hentikan / Mulai / Mulai Ulang dan Hapus Kontainer LXC

Dengan lxc utilitas baris perintah Anda dapat melakukan tugas pengelolaan container seperti menghentikan, memulai, memulai ulang, dan menghapus container.

Untuk menghentikan lxc wadah, gunakan sintaks:

$ lxc stop container-name

Misalnya, untuk menghentikan tec-container1 , kita akan menjalankan perintah:

$ lxc stop tec-container1

Untuk memulai lxc wadah, gunakan sintaks:

$ lxc start container-name

Misalnya, untuk memulai tec-container1 , kita akan mengeksekusi:

$ lxc start tec-container1

Untuk memulai ulang keduanya lxc container, kita akan menjalankan perintah:

$ lxc restart tec-container1
$ lxc restart tec-container2

Untuk menghapus lxc wadah, Anda harus, pertama, menghentikan wadah dan setelah itu menghapusnya. Misalnya untuk menghapus, kita akan menjalankan perintah:

$ lxc stop tec-container1
$ lxc delete tec-container1

Atau, Anda dapat menggabungkan dua perintah ini seperti yang ditunjukkan.

$ lxc stop tec-container1 && lxc delete tec-container1

Langkah 12:Dapatkan Bantuan tentang Opsi Baris Perintah LXC

Untuk mendapatkan bantuan tentang opsi perintah lain yang disediakan oleh LXC , cukup jalankan perintah:

$ lxc --help
OR
$ lxc command --help e.g
$ lxc file --help
Kesimpulan

Itu adalah pembahasan mendalam tentang LXD wadah dan bagaimana Anda dapat membuat dan mengelolanya menggunakan lxc alat utilitas baris perintah. Kami percaya bahwa Anda merasa panduan ini bermanfaat.


Cent OS
  1. Cara Menginstal MediaWiki di RHEL 8/Rocky Linux 8/AlmaLinux OS 8

  2. Cara Instal PostgreSQL di CentOS 8 / Rocky Linux 8 / RHEL 8

  3. Cara Menginstal Java Di Rocky Linux 8 / CentOS 8 / RHEL 8

  1. Cara Menginstal GUI GNOME di Rocky Linux 8 / CentOS 8 / RHEL 8

  2. Cara Install VirtualBox di Rocky Linux 8 / CentOS 8 / RHEL 8

  3. Cara Instal Docker di Rocky Linux 8 / CentOS 8 / RHEL 8 / AlmaLinux

  1. Cara Install Jenkins di Rocky Linux 8 / AlmaLinux 8

  2. Cara Menginstal Suricata di RHEL, Rocky &AlmaLinux

  3. Cara Menginstal MongoDB di RHEL, CentOS, Rocky &AlmaLinux