Settu upp LXC (Linux ílát) í RHEL, Rocky og AlmaLinux


LXD er lýst sem næstu kynslóð gáma- og sýndarvélastjóra sem býður upp á yfirgripsmikið fyrir Linux kerfi sem keyra inni í gámum eða sem sýndarvélar.

Það veitir myndir fyrir óhóflegan fjölda Linux dreifinga með stuðningi fyrir mikið úrval af geymslustuðningi og nettegundum. Það veitir einnig möguleika á að setja upp myndirnar á einstaka tölvu/fartölvu og jafnvel á skýjatilviki.

LXD gerir þér kleift að stjórna gámum og VM með þremur leiðum. Þú getur nýtt þér lxc biðlara eða skipanalínuverkfæri, REST API eða jafnvel samþættingu þriðja aðila.

Áberandi LXD eiginleikar eru:

  • LXD er byggt á myndum með myndum fyrir mikið úrval af Linux dreifingum.
  • Það er byggt með öryggi í forgangi.
  • Það býður upp á REST API og lxc skipanalínuverkfæri til að hafa samskipti við ílát.
  • Það veitir stuðning fyrir margs konar gagnagrunna, geymslumagn og geymslusamstæður.
  • Netstjórnun er með því að búa til brúarnet og göng yfir hýsil.
  • Ítarleg stjórn á tilföngum eins og örgjörva, vinnsluminni, diskanotkun, inn-/útblokk og kjarnaauðlindum.
  • Sveigjanlegt og skalanlegt – Þú getur sett upp gáma á tölvunni þinni og stillt klasa sem getur safnað saman þúsundum gáma á ýmsum hnútum.

Ekki má rugla saman við lxc skipanalínubiðlaratólið sem LXD býður upp á, LXC (Linux Container) er vinsæl sýndartækni á stýrikerfi sem notar öflugt API og önnur verkfæri til að gera notendum kleift að búa til og stjórna gámum og sýndarvélum á óaðfinnanlegan hátt í einn gestgjafi. Það samanstendur af sniðmátum, verkfæramáli og bókasafnsbindingum.

LXC notar eftirfarandi kjarnaeiginleika til að meðhöndla ferla:

  • Nafnarými kjarna: pid, mount, uts net og notandi.
  • CGhópar (viðmiðunarhópar).
  • Chroots – Notkun pivot_root.
  • Secomp reglur.
  • SELinux og Apparmor prófílar.

Linuxcontainers.org er regnhlífarverkefnið á bak við bæði LXD og LXC. Markmið þess er að bjóða upp á dreifðan og söluaðilahlutlausan vettvang fyrir Linux gámatækni.

Með þeirri kynningu úr vegi, munum við nú sýna hvernig á að búa til og stjórna LXC gámum á RHEL-undirstaða Linux dreifingar eins og CentOS, Rocky Linux og AlmaLinux.

Vinnandi Linux stýrikerfi með lágmarks uppsetningu:

  • Uppsetning á RHEL Linux
  • Uppsetning á CentOS Linux
  • Uppsetning á Rocky Linux
  • Uppsetning AlmaLinux

Skref 1: Stilltu SELinux á leyfilegan hátt

Strax í byrjun munum við byrja á því að stilla SELinux og stilla það á leyfilegt. En áður en við gerum það skulum við uppfæra kerfispakkana sem hér segir:

$ sudo dnf update

Til að stilla SELinux á leyfilegt skaltu framkvæma skipunina:

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

Til að þetta taki gildi skaltu endurræsa netþjóninn þinn.

$ sudo reboot

Og staðfestu stöðu SELinux.

$ getenforce

Skref 2: Settu upp EPEL geymslu

EPEL er geymsla frá Fedora Project sem veitir sett af hágæða pakka fyrir RedHat Enterprise Linux og aðrar RHEL-undirstaða dreifingar.

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

Skref 3: Bættu við kjarnabreytum

Áður en við setjum upp LXD eru nokkrar viðbótarfæribreytur nauðsynlegar. Skiptu því yfir í rótnotanda:

$ su -

Og bættu við breytunum sem hér segir.

$ 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

Þegar færibreyturnar eru komnar skaltu halda áfram og virkja Snap.

Skref 4: Settu upp og virkjaðu Snap

Einfaldasta leiðin til að setja upp LXD á RHEL 8 er að setja það upp sem snappakka. En fyrst skulum við setja upp snap eins og hér segir.

$ sudo dnf install snapd

Þetta mun setja upp snapd púkinn eða þjónustu ásamt öðrum Python ósjálfstæðum eins og sýnt er.

Með snap uppsett, haltu áfram og virkjaðu aðal snap samskiptainnstunguna.

$ sudo systemctl enable --now snapd.socket

Að auki, virkjaðu klassískan stuðning með því að búa til tákntengil frá /var/lib/snapd/snap til /snap.

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

Til að uppfæra skyndistígana skaltu endurræsa kerfið þitt.

$ sudo reboot

Skref 5: Settu upp LXD Containerization Manager

Það eru tvær leiðir til að setja upp LXD frá a snap. Þú getur sett upp nýjustu útgáfuna af LXD eins og sýnt er.

$ sudo snap install —-classic lxd

Að öðrum kosti geturðu sett upp nýjustu stöðugu LTS útgáfuna sem hér segir:

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

Til að geta framkvæmt lxc skipanir án þess að skipta yfir í sudo notanda skaltu bæta notandanum sem er innskráður í lxd hópinn.

$ sudo usermod -aG lxd $USER

Staðfestu að notandanum hafi verið bætt við lxd hópinn með því að skrá alla hópa sem notandinn tilheyrir.

$ groups tecmint

Næst skaltu keyra newgrp skipunina sem hér segir.

$ newgrp lxd

Skipunin breytir núverandi hópauðkenni meðan á innskráningu stendur. Það stillir núverandi hópauðkenni á nafngreindan hóp sem er lxd.

Skref 6: Frumstilla LXD umhverfi

Áður en við byrjum að búa til og stjórna LXD gámum þurfum við að frumstilla LXD umhverfið með því að keyra skipunina.

$ lxc init

Eftirfarandi er röð leiðbeininga sem gerir þér kleift að setja upp umhverfið þitt. Sjálfgefnar stillingar munu virka vel, en ekki hika við að tilgreina eigin óskir.

Við höfum búið til geymslulaug sem heitir tec-pool með lvm valkostinum sem bakenda.

Til að staðfesta LXD umhverfið sem þú varst nýbúinn að stilla eru nokkrar skipanir sem þú getur notað. Til dæmis, til að birta sjálfgefna LXD prófílinn skaltu framkvæma:

$ lxc profile show default

Til að sýna netmillistykkin og IPv4 og IPv6 vistföngin skaltu keyra:

$ lxc network list

Þú getur þrengt það enn frekar og birt fínni upplýsingar um lxdbr0 viðmótið sem hér segir.

$ lxc network show lxdbr0

Þú getur líka staðfest geymslulaugina.

$ lxc storage list

Þú getur frekar fengið flóknar upplýsingar um geymslulaugina.

$ lxc storage show tec-pool

Til að skrá hlaupandi lxc gáma skaltu keyra skipunina:

$ lxc list

Í augnablikinu erum við ekki með neina hlaupandi gáma ennþá. Þannig að þú munt fá tóma töflu með aðeins dálkamerkjunum.

Skref 7: Skráning á forbyggðum LXC gámamyndum

Rétt eins og Docker, býður LXC vettvangurinn upp á geymslu af forbyggðum myndum sem þú getur búið til gáma úr. Til að skrá allar forsmíðaðar myndir fyrir öll stýrikerfi, þar með talið sýndarvélar, keyrðu skipunina:

$ lxc image list images: 

Þetta fyllir upp risastóran lista yfir gámamyndir og sýndarvélar fyrir öll stýrikerfin. Til að þrengja að tiltekinni Linux dreifingu, notaðu setningafræðina:

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

Til dæmis, til að leita að tiltækum myndum fyrir Rocky Linux skaltu keyra skipunina:

$ lxc image list images: grep -i rocky

Ef þú ert að leita að Debian myndum skaltu keyra skipunina:

$ lxc image list images: grep -i debian

Skref 8: Ræsa LXC gáma

Til að ræsa lxc gáma skaltu nota setningafræðina:

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

Hér munum við ræsa 2 gáma: tec-container1 frá Debian 10 og tec-container2 frá Rocky Linux 8.

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

Til að skrá lxc gámana skaltu framkvæma skipunina:

$ lxc list

Úttakið sýnir fjölda upplýsinga um gámana. Þetta felur í sér heiti ílátanna, ástandið – hvort sem það er í gangi eða stöðvað – IPv4 og IPv6 vistföng, gerð (hvort sem er ílát eða sýndarvél) og fjölda skyndimynda.

Til að skrá aðeins hlaupandi gáma skaltu keyra skipunina:

$ lxc list | grep -i running

Á sama hátt, fyrir stöðvaða gáma, framkvæma:

$ lxc list | grep -i stopped

Þú getur rannsakað upplýsingar og mælikvarða gáms eins og hlaupandi ferla, CPU og minnisnotkun og bandbreidd til að nefna nokkrar með því að nota skipunina:

$ lxc info tec-container1 

Skref 9: Fáðu Shell aðgang að LXC gámi

Þú getur fengið bash aðgang að íláti með setningafræðinni:

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

Til að fá skel aðgang að tec-container1 munum við keyra skipunina:

$ lxc exec tec-container1 bash

Þegar þú hefur fengið skeljaaðgang geturðu byrjað að hafa samskipti við ílátið sem rótnotandi með því að keyra algengar skelskipanir, þar á meðal að uppfæra kerfið eins og sýnt er:

$ apt update

Til að hætta úr ílátinu skaltu keyra skipunina:

$ exit

Að öðrum kosti geturðu framkvæmt skipanirnar beint á ílátið án þess að fá aðgang að skelinni með því að nota eftirfarandi snið:

$ lxc exec container-name command

Til dæmis geturðu keyrt eftirfarandi skipanir sem munu uppfæra pakkalistana, athuga útgáfu stýrikerfisins sem keyrir á Debian ílátinu og athuga dagsetninguna.

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

Skref 10: Dragðu/ýttu skrá(m) í LXC ílát

Önnur aðgerð sem þú getur framkvæmt er að flytja skrár til og frá ílátinu. Til að sýna fram á þetta munum við búa til nýja möppu í LXD ílátinu og fletta inn í hana.

# mkdir data && cd data

Næst munum við búa til sýnishornsskrá og bæta við nokkrum gögnum. Til að gera það munum við búa til sýnishornsskrá með vim ritstjóra

# vim file1.txt

Næst munum við slá inn sýnishornstexta og vista skrána.

Hello World, Welcome to LXD containers.

Til að draga skrána úr ílátinu yfir í staðbundið hýsingarkerfi munum við nota setningafræðina:

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

Í þessu tilviki verður skipunin:

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

Til að ýta eða afrita skrá úr staðbundinni skrá yfir í gáminn, notaðu setningafræðina:

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

Í þessu tilfelli erum við með sýnishornsskrá í heimamöppunni sem heitir file2.txt sem er afrituð á /root/data/ slóðina í tec-container2 ílátinu.

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

Til að staðfesta tilvist skráarinnar í ílátinu munum við keyra:

$ lxc exec tec-container2 ls /root/data

Skref 11: Stöðva/Byrja/Endurræsa og eyða LXC gámum

Með lxc skipanalínuforritinu geturðu framkvæmt gámastjórnunarverkefni eins og að stöðva, ræsa, endurræsa og eyða gámum.

Til að stöðva lxc gám, notaðu setningafræðina:

$ lxc stop container-name

Til dæmis, til að stöðva tec-container1, munum við keyra skipunina:

$ lxc stop tec-container1

Til að ræsa lxc ílátið skaltu nota setningafræðina:

$ lxc start container-name

Til dæmis, til að ræsa tec-container1, munum við framkvæma:

$ lxc start tec-container1

Til að endurræsa báða lxc gámana munum við keyra skipunina:

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

Til að eyða lxc gámi verður þú fyrst að stöðva gáminn og síðan eyða honum. Til dæmis, til að eyða, munum við keyra skipanirnar:

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

Að öðrum kosti geturðu sameinað þessar tvær skipanir eins og sýnt er.

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

Skref 12: Fáðu hjálp við LXC skipanalínuvalkosti

Til að fá hjálp við aðra skipanavalkosti sem LXC býður upp á skaltu einfaldlega keyra skipunina:

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

Þetta var djúp kafa í LXD gáma og hvernig þú getur búið til og stjórnað þeim með lxc skipanalínu tólinu. Við treystum því að þér hafi fundist þessi handbók gagnleg.