LXD apibūdinamas kaip naujos kartos konteineris ir virtualių mašinų tvarkyklė, siūlanti įtraukiantį į Linux sistemas, veikiančias konteineriuose arba kaip virtualiosios mašinos.
Jame pateikiami vaizdai, skirti nepaprastam skaičiui „Linux“ platinimų, palaikant platų saugyklos užpakalinių sistemų ir tinklų tipų pasirinkimą. Ji taip pat suteikia galimybę įdiegti vaizdus į atskirą asmeninį kompiuterį / nešiojamąjį kompiuterį ir net debesies egzempliorių.
LXD leidžia tvarkyti konteinerius ir VM trimis būdais. Galite pasinaudoti lxc klientas arba komandinės eilutės įrankį, REST API ar net trečiųjų šalių integracijas.
Pažymėtina LXD funkcijos apima:
Negalima painioti su lxc teikiamas komandinės eilutės kliento įrankis LXD, LXC (Linux konteineris) yra populiari OS lygio virtualizacijos technologija, kuri naudoja galingą API ir kitus įrankius, kad vartotojai galėtų sklandžiai kurti ir valdyti konteinerius ir virtualias mašinas viename pagrindiniame kompiuteryje. Jį sudaro šablonai, įrankių kalba ir bibliotekos įrišimai.
LXC procesų valdymui naudoja šias branduolio funkcijas:
Linuxcontainers.org yra skėtis už abiejų projektų LXD ir LXC. Jos tikslas yra pasiūlyti platinimo ir pardavėjų atžvilgiu neutralią platformą Linux konteinerių technologijoms.
Atsisakę šios įžangos, parodysime, kaip kurti ir valdyti LXC konteineriai ant RHEL pagrįsti Linux platinimai toks kaip CentOS, Rocky Linux, ir AlmaLinux.
Veikianti Linux operacinė sistema su minimaliu įdiegimu:
Iš karto pradėsime nuo konfigūravimo SELinux ir nustatant jį į leistiną. Tačiau prieš tai darydami atnaujinkime sistemos paketus taip:
$ sudo dnf naujinimas.
Nustatyti SELinux jei norite, vykdykite komandą:
$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config.
Kad tai įsigaliotų, iš naujo paleiskite serverį.
$ sudo paleisti iš naujo.
Ir patvirtinkite būseną SELinux.
$ getenforce.
EPEL yra saugykla iš Fedora projektas kuri suteikia aukštos kokybės paketų rinkinį RedHat Enterprise Linux ir kiti RHEL pagrįsti paskirstymai.
$ sudo yum įdiegti https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm. ARBA. $ sudo yum įdiegti epel-release.
Prieš montuodami LXD, reikalingi kai kurie papildomi parametrai. Todėl pereikite prie root vartotojo:
$ su -
Ir pridėkite parametrus taip.
$ 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.
Kai parametrai bus nustatyti, tęskite ir įgalinti Snap.
Paprasčiausias montavimo būdas LXD įjungta RHEL 8 yra įdiegti jį kaip a spragtelėti paketą. Bet pirmiausia leiskite įdiegti spragtelėti taip.
$ sudo dnf įdiegti snapd.
Tai bus įdiegta snapd demonas arba paslauga kartu su kitomis Python priklausomybėmis, kaip parodyta.
Įdiegę „snap“, tęskite ir įjunkite pagrindinį spragtelėti ryšio lizdas.
$ sudo systemctl enable --now snapd.socket.
Be to, įgalinkite klasikinį palaikymą sukurdami simbolinę nuorodą iš /var/lib/snapd/snap į /snap.
$ sudo ln -s /var/lib/snapd/snap /snap.
Norėdami atnaujinti spragtelėti kelius, iš naujo paleiskite sistemą.
$ sudo paleisti iš naujo.
Yra du diegimo būdai LXD iš spragtelėti. Galite įdiegti naujausią versiją LXD taip, kaip parodyta.
$ sudo snap install – klasikinis lxd.
Arba galite įdiegti naujausią stabilią versiją TAI YRA versija tokia:
$ sudo snap install lxd --channel=4.0/stable.
Kad būtų galima įvykdyti lxc komandas neperjungdami į sudo vartotoją, pridėkite šiuo metu prisijungusį vartotoją prie lxd grupė.
$ sudo usermod -aG lxd $USER.
Patikrinkite, ar vartotojas buvo įtrauktas į lxd grupę, nurodydami visas grupes, kurioms priklauso vartotojas.
$ grupės tecmint.
Tada paleiskite newgrp komandą taip.
$ newgrp lxd.
Komanda pakeičia esamą grupės ID prisijungimo seanso metu. Jis nustato dabartinės grupės ID į pavadintą grupę, kuri yra lxd.
Prieš pradėdami kurti ir valdyti LXD konteinerius, turime inicijuoti LXD aplinką paleisdami komandą.
$ lxc init.
Toliau pateikiami raginimai, kurie leis jums nustatyti aplinką. Numatytieji nustatymai veiks puikiai, bet nedvejodami nurodykite savo nuostatas.
Sukūrėme saugojimo baseiną, vadinamą tec-pool su lvm parinktis kaip backend.
Norėdami patikrinti LXD aplinką, kurią ką tik sukonfigūravote, yra keletas komandų, kurias galite naudoti. Pavyzdžiui, norėdami parodyti numatytąjį LXD profilį, vykdykite:
$ lxc profilis rodo numatytąjį.
Norėdami parodyti tinklo adapterius ir IPv4 ir IPv6 adresai, paleisti:
$ lxc tinklų sąrašas.
Galite dar labiau susiaurinti ir parodyti tikslesnę informaciją apie lxdbr0 sąsaja taip.
$ lxc tinklo rodyti lxdbr0.
Taip pat galite patikrinti saugyklos telkinį.
$ lxc saugyklos sąrašas.
Galite gauti daugiau sudėtingos informacijos apie saugyklos baseiną.
$ lxc saugyklos šou tec-pool.
Į sąrašą bėgimo lxc konteinerius, paleiskite komandą:
$ lxc sąrašas.
Šiuo metu dar neturime veikiančių konteinerių. Taigi gausite tuščią lentelę su tik stulpelių etiketėmis.
Tiesiog kaip Dokeris, LXC platforma suteikia iš anksto sukurtų vaizdų saugyklą, iš kurios galite kurti konteinerius. Norėdami išvardyti visus iš anksto sukurtus vaizdus visoms operacinėms sistemoms, įskaitant virtualias mašinas, paleiskite komandą:
$ lxc vaizdų sąrašo vaizdai:
Tai sudaro didžiulį konteinerių vaizdų ir virtualių mašinų sąrašą visoms operacinėms sistemoms. Norėdami susiaurinti iki konkretaus Linux platinimo, naudokite sintaksę:
$ lxc vaizdų sąrašo vaizdai: grep -i os-type.
Pavyzdžiui, norėdami ieškoti galimų vaizdų Rocky Linux, paleiskite komandą:
$ lxc vaizdų sąrašo vaizdai: grep -i rocky.
Jei ieškote Debian vaizdus, paleiskite komandą:
$ lxc vaizdų sąrašo vaizdai: grep -i debian.
Pradėti lxc konteinerius, naudokite sintaksę:
$ lxc paleidimo vaizdai: {distro}/{version}/{arch} {container-name-here}
Čia mes paleisime 2 konteinerius: tec-container1 iš Debian 10 ir tec-container2 iš Rocky Linux 8.
$ lxc paleidimo vaizdai: debian/10/amd64 tec-container1. $ lxc paleidimo vaizdai: rockylinux/8/amd64 tec-container2
Norėdami išvardyti lxc konteinerius, vykdykite komandą:
$ lxc sąrašas.
Išvestis rodo daugybę informacijos apie konteinerius. Tai apima konteinerių pavadinimus, būseną – veikiančią ar sustabdytą – IPv4 ir IPv6 adresus, tipą (konteineris ar virtualioji mašina) ir keletą momentinių vaizdų.
Norėdami išvardyti tik veikiančius konteinerius, paleiskite komandą:
$ lxc sąrašas | grep -i bėgu.
Taip pat sustabdytiems konteineriams vykdykite:
$ lxc sąrašas | grep - sustojau.
Galite ieškoti konteinerio informacijos ir metrikos, pvz., vykstančių procesų, procesoriaus ir atminties panaudojimo bei pralaidumo, naudodamiesi komanda:
$ lxc info tec-container1
Bash prieigą prie konteinerio galite gauti naudodami sintaksę:
$ lxc exec konteinerio pavadinimas apvalkalo pavadinimas.
Norėdami gauti apvalkalo prieigą tec-container1, vykdysime komandą:
$ lxc exec tec-container1 bash.
Kai gausite apvalkalo prieigą, galite pradėti bendrauti su konteineriu kaip root naudotojas, vykdydami įprastas apvalkalo komandas, įskaitant sistemos atnaujinimą, kaip parodyta:
$ apt atnaujinimas.
Norėdami išeiti iš konteinerio, paleiskite komandą:
$ išeiti.
Arba galite vykdyti komandas tiesiai konteineryje, nepasiekdami apvalkalo naudodami šį formatą:
$ lxc exec konteinerio pavadinimo komanda.
Pavyzdžiui, galite paleisti šias komandas, kurios atnaujins paketų sąrašus, patikrins Debian konteineryje veikiančios OS versiją ir datą.
$ lxc exec tec-container1 apt atnaujinimas. $ lxc exec tec-container1 cat /etc/debian_version. $ lxc exec tec-container1 data.
Kita operacija, kurią galite atlikti, yra failų perkėlimas į konteinerį ir iš jo. Norėdami tai parodyti, sukursime naują katalogą LXD konteinerį ir eikite į jį.
# mkdir duomenys ir kompaktinių diskų duomenys.
Tada sukursime pavyzdinį failą ir pridėsime tam tikrų duomenų. Norėdami tai padaryti, sukursime pavyzdinį failą su vim redaktorius
# vim failas1.txt.
Tada įvesime teksto pavyzdį ir išsaugosime failą.
Sveiki, pasaulis, sveiki atvykę į LXD konteinerius.
Norėdami perkelti failą iš konteinerio į vietinę pagrindinę sistemą, naudosime sintaksę:
$ lxc failo patraukimas {konteinerio pavadinimas}/{kelis/į/failą} {/kelis/to/local/dest}
Tokiu atveju komanda bus tokia:
$ lxc failas ištraukiamas tec-container2/root/data/file1.txt /home/tecmint.
Norėdami perkelti arba nukopijuoti failą iš vietinio katalogo į konteinerį, naudokite sintaksę:
$ lxc failo stūmimas {/kelis/į/failą} {container-nane} /path/to/dest/dir/
Šiuo atveju namų kataloge yra pavyzdinis failas, vadinamas failas2.txt yra nukopijuotas į /root/data/ kelias į tec-container2 konteineris.
$ lxc failo siuntimas /home/tecmint/file2.txt tec-container2/root/data/
Norėdami patvirtinti failo buvimą konteineryje, vykdysime:
$ lxc exec tec-container2 ls /root/data.
Su lxc Komandinės eilutės programa galite atlikti konteinerių valdymo užduotis, pvz., sustabdyti, paleisti, paleisti iš naujo ir ištrinti konteinerius.
Norėdami sustabdyti an lxc konteinerį, naudokite sintaksę:
$ lxc sustabdyti konteinerio pavadinimą.
Pavyzdžiui, sustoti tec-container1, vykdysime komandą:
$ lxc sustabdyti tec-container1.
Norėdami pradėti lxc konteinerį, naudokite sintaksę:
$ lxc pradėti konteinerio pavadinimą.
Pavyzdžiui, pradėti tec-container1, vykdysime:
$ lxc paleisti tec-container1.
Norėdami iš naujo paleisti abu lxc konteinerius, vykdysime komandą:
$ lxc iš naujo paleiskite tec-container1. $ lxc iš naujo paleiskite tec-container2.
Norėdami ištrinti an lxc konteinerį, pirmiausia turite jį sustabdyti, o po to ištrinti. Pavyzdžiui, norėdami ištrinti, vykdysime komandas:
$ lxc sustabdyti tec-container1. $ lxc ištrinti tec-container1.
Arba galite sujungti šias dvi komandas, kaip parodyta.
$ lxc sustabdyti tec-container1 && lxc ištrinti tec-container1.
Norėdami gauti pagalbos dėl kitų komandų parinkčių, kurias teikia LXC, tiesiog paleiskite komandą:
$ lxc --pagalba. ARBA. $ lxc komanda --help pvz. $ lxc failas --help.
Tai buvo gilus pasinerimas LXD konteinerius ir kaip galite juos kurti bei tvarkyti naudodami lxc komandinės eilutės įrankis. Tikime, kad šis vadovas jums buvo naudingas.