Kako instalirati, kreirati i upravljati LXC-om u Ubuntu/Debianu


Tokom posljednje decenije, zajednica otvorenog koda je vidjela stabilan pomak ka kontejnerizaciji kao preferiranom načinu implementacije aplikacija zahvaljujući brojnim prednostima koje nudi, kao što su prenosivost, fleksibilnost, povećana sigurnost i lakše upravljanje aplikacijama. Popularne tehnologije kontejnerizacije uključuju Docker, Podman i LXD.

Napisan na Go jeziku, LXD (izgovara se kao Lekseed) je opisan kao sistemski kontejner sljedeće generacije i upravitelj virtuelnih mašina koji vam omogućava da upravljate svojim kontejnerima i virtuelnim mašinama iz komandne linije ili pomoću REST API ili drugi alati treće strane. LXD je projekat otvorenog koda i proširenje je LXC (Linux Containers) koji je tehnologija virtuelizacije na nivou OS.

LXC se pojavio oko 2008. godine, a LXD je lansiran 7 godina kasnije 2015. sa istim blokovima kao i LXC. LXD je došao da učini kontejnere lakšim za upotrebu i lakšim za upravljanje.

Budući da je proširenje LXC, LXD pruža napredne funkcije kao što su snimci i migracija uživo. Takođe pruža demon koji vam omogućava lako upravljanje kontejnerima i virtuelnim mašinama. Nije namijenjen za zamjenu LXC, već je usmjeren na poboljšanje upotrebljivosti i rukovanja kontejnerima baziranim na LXC

U ovom vodiču ćemo pokazati kako možete kreirati LXC kontejnere i upravljati njima koristeći LXD na Debian/Ubuntu.

Korak 1: Instalirajte LXD na Ubuntu

Prvi korak je instaliranje LXD. Postoje dva načina da to uradite, možete instalirati iz Ubuntuovog spremišta koristeći APT menadžer paketa ili možete koristiti snap.

Koristeći APT, prvo ažurirajte sistem:

sudo apt update

Zatim instalirajte LXD sistemski hipervizor kontejnera na sljedeći način.

sudo apt install lxd

Koristeći snap, možete instalirati najnoviju verziju LXD.

sudo snap install lxd

Osim toga, možete instalirati najnovije LTS izdanje koje je LXD 4.0 na sljedeći način:

sudo snap install lxd --channel=4.0/stable

Možete provjeriti instaliranu verziju LXD kao što je prikazano:

lxd --version

Ako ste koristili snap, možete provjeriti da li je LXD snap paket instaliran kao što je prikazano:

snap list

Korak 2: Inicijalizacija LXD usluge

Da biste inicijalizirali ili pokrenuli LXD hipervizor kontejnera, pokrenite naredbu:

sudo lxd init

Komanda vam predstavlja skup pitanja o tome kako konfigurirati LXD. Zadane postavke rade sasvim dobro, međutim, slobodni ste da odredite vlastita podešavanja prema vašim zahtjevima.

U ovom primjeru, kreirali smo spremište za pohranu pod nazivom tecmint_pool sa ZFS sistemom datoteka i upravljačem volumena. Za ostala pitanja odabrali smo da idemo sa zadanim opcijama. Jednostavan način da prihvatite podrazumevani izbor je da pritisnete dugme ENTER na tastaturi.

Potvrdite date informacije pokretanjem naredbe:

sudo lxc profile show default

Možete ga dodatno suziti na stvoreni spremište. Naredbe ispod prikazuju detalje o trenutnim spremištima za pohranu.

sudo lxc storage list
sudo lxc storage show tecmint_pool

Takođe možete prikazati informacije o mrežnom interfejsu koji koristi LXD, u ovom slučaju, lxdbr0, što je podrazumevani izbor.

sudo lxc network show lxdbr0

Korak 3: Kreiranje LXD kontejnera u Ubuntu

Sada, promijenimo brzinu i napravimo Linux kontejnere. Možete navesti sve unapred izgrađene kontejnere koji su dostupni za preuzimanje pomoću naredbe:

sudo lxc image list images:

Ovo popunjava ogromnu listu svih kontejnera u različitim operativnim sistemima kao što su Ubuntu, CentOS, Debian i AlmaLinux, da spomenemo neke.

Možete ga suziti na određenu distribuciju na sljedeći način:

sudo lxc image list images: | grep -i centos
sudo lxc image list images: | grep -i debian

U ovom primjeru navodimo dostupne kontejnere.

sudo lxc image list images: | grep -i ubuntu

Sada ćemo kreirati naš prvi kontejner. Sintaksa za kreiranje kontejnera je sljedeća:

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

Sada ćemo kreirati dva kontejnera iz Ubuntu 20 i Debiana 10 respektivno:

sudo lxc launch images:ubuntu/focal tecmint-con1
sudo lxc launch images:debian/10 tecmint-con2

U gornjim primjerima kreirali smo dva kontejnera: tecmint-con1 i tecmint-con2.

Za popis kreiranih kontejnera pokrenite naredbu:

sudo lxc list

Iz izlaza, možemo vidjeti naša dva kontejnera navedena.

Da dobijete pristup ljusci LXC kontejneru, pokrenite naredbu:

sudo lxc exec tecmint-con1 bash

Kada dobijete pristup ljusci, primijetite da se prompt mijenja kako bi naznačio da radite kao root korisnik.

Da izađete iz kontejnera, pokrenite naredbu:

exit

Korak 4: Upravljanje LXD kontejnerima u Ubuntu

Sada, pogledajmo neke od naredbi koje možete koristiti za upravljanje LXD kontejnerima.

Da ispišete sve pokrenute kontejnere, pokrenite naredbu:

sudo lxc list

Za prikaz detaljnih informacija o LXC kontejneru, koristite sintaksu:

sudo lxc info container-name

Ovo će vam pružiti informacije kao što su naziv kontejnera, arhitektura, datum kreiranja, status mrežnih sučelja, propusni opseg, CPU, memorija i korištenje diska da spomenemo nekoliko metrika.

Da zaustavite LXC kontejner, koristite sintaksu:

sudo lxc stop container-name

Na primjer, da zaustavite kontejner tecmint-con1, izvršite naredbu:

sudo lxc stop  tecmint-con1

Ponovo navedite kontejnere da potvrdite da je kontejner zaustavljen.

sudo lxc list

Alternativno, možete navesti pokrenute ili zaustavljene kontejnere na sljedeći način:

sudo lxc list | grep -i STOPPED
sudo lxc list | grep -i RUNNING

Da pokrenete LXC kontejner, koristite sintaksu:

sudo lxc start container-name

Na primjer, da pokrenete kontejner tecmint-con1 pokrenite naredbu:

sudo lxc start tecmint-con1

Možete pokrenuti ili zaustaviti kontejnere zaobilazeći ih u jednoj naredbi odvojenoj razmakom koristeći sljedeću sintaksu:

sudo lxc stop container1 container2
sudo lxc start container1 container2

Na primjer, da zaustavite sve kontejnere, pokrenite:

sudo lxc stop tecmint-con1 tecmint-con2

Da ponovo pokrenete LXC kontejner, koristite sintaksu:

sudo lxc restart container-name

Na primjer, da ponovo pokrenete kontejner tecmint-con1 pokrenite naredbu:

sudo lxc restart tecmint-con1

Alternativno, možete proslijediti više kontejnera u jednoj naredbi:

sudo lxc start container1 container2

Na primjer, da ponovo pokrenete sve kontejnere, pokrenite:

sudo lxc restart tecmint-con1 tecmint-con2

Da izbrišete LXC kontejner, prvo ga zaustavite, a zatim izbrišite. Na primjer, da izbrišete kontejner tecmint-con2, pokrenite naredbu:

sudo lxc stop tecmint-con2
sudo lxc delete tecmint-con2

Ovaj vodič vam je pružio solidnu osnovu o LXD kontejnerima i kako možete pokrenuti, kreirati i upravljati kontejnerima. Nadamo se da sada možete udobno pokrenuti i upravljati svojim kontejnerima bez većih poteškoća.