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.