LXD pamati: Kas tas ir? Un kā to izmantot?
LXD konteinerizēšana nav ieguvusi uzmanību, ko darīja Docker, taču patiesībā tā ir daudz tuvāka operētājsistēmas virtualizācijas pamatidejai. Bet pirms mēs tur nokļūsim, parunāsim par mūsdienu aparatūras līmeņa virtualizāciju.
Aparatūras virtualizācija
Tradicionālais veids, kā darbojas VMware, VirtualBox, KVM un līdzīgas tehnoloģijas, ir šāds - jums ir servera klases dators, teiksim, augstas klases Xeon procesors ar 512 GB RAM, kas pazīstams kā tukšais metāls. Šajā instalējat operētājsistēmu, kurā pēc tam darbotos vai nu VMware, Virtualbox vai KVM.
Tie ir dažādi hipervizori, un operētājsistēma, kas tos vada, ir resursdatora operētājsistēma.
Tagad hipervizors piedāvā šo - tas atdarina CPU, tīkla saskarnes, atmiņas diskus, atmiņu, I / O un citus resursus tā, ka virs šī komplekta var instalēt jaunu operētājsistēmu virtuālā aparatūra. Šī jaunā operētājsistēma ir viesu operētājsistēma un tā darbojas ar virtuālo aparatūru, tāpat kā tad, ja tā būtu instalēta fiziskā mašīnā, taču ir kāds noķerums.
Ja jūs domājat: “Bet dažādu aparatūras ierīču atdarināšana, izmantojot faktisko aparatūru, izklausās neefektīvi un lēni.”Jūs esat pilnīgi pareizi. Aparatūras līmeņa virtualizācija ir lēna un neefektīva.
Turklāt pašas operētājsistēmas ir kontroles dīvainības. Ja jūs piešķirat viesa operētājsistēmai 1 GB RAM un 2 CPU kodolus, tas ar prieku aizņem visus resursus, pat ja tajā darbojošās lietojumprogrammas izmanto tikai daļu no tā. Šos resursus hipervizors nevarēs izmantot citur.
Tas ievērojami ierobežo VM skaitu, kas var darboties virs hipervizora. Ja esat mākoņa mitināšanas pakalpojumu sniedzējs, tas nozīmē, ka jūsu apakšējā līnija tiks smagi skarta.
Konteiners veids, kā darīt lietas
Virtualizētās aparatūras ideja tiek izmesta pa logu, kad mēs sākam runāt par konteineriem un īpaši par LXD. Tā vietā, lai atdarinātu atsevišķus aparatūras resursus, mēs cenšamies virtualizēt operētājsistēmu.
Kad tiek uzvilkts LX konteiners, OS piedāvā sevi (tas ir, kodolu, bibliotēkas visus tai pieejamos resursus) lietojumprogrammām, kas darbojas konteinerā. Lietotāji un lietotnes, kas atrodas šajā konteinerā, nezinās par lietojumprogrammām un pakotnēm, kas darbojas ārpus tā, un otrādi.
Kas attiecas uz resursu sadali, varat vienkārši izdarīt piezīmi, lai noteiktu konteineru neļautu izmantot vairāk nekā, piemēram, 2 GB RAM un 2 CPU. Tādā veidā, kad konteinerā darbojošās lietotnes neko intensīvi nedara, resursus var piešķirt citur resursdatora vidē.
Tomēr, kad lietotnes darbojas ar lielu slodzi, tās iegūst metāliska veiktspēju!
Acīmredzami īsā laikā tas ir tāds, ka jūs nevarat palaist nevienu patvaļīgu operētājsistēmu kā viesu. Tā kā dažādām operētājsistēmām ir atšķirīga arhitektūra. Par laimi GNU / Linux lietotājiem, Linux kodols piedāvā tik stingru ABI saderību, ka jūs varat atdarināt dažādus sadalījumus virs tā paša kodola. Tātad jūs varat palaist CentOS bināros failus un Ubuntu lietojumprogrammas uz tā paša metāla tikai dažādos konteineros.
LXD inic
LX konteinerizēšana ir labi pārbaudīta un izturīga tehnoloģija operētājsistēmām, kuru pamatā ir Linux. Tam ir divi galvenie komponenti, viens ir LXC, kas pārvalda konteineru konfigurācijas, attēlu failus utt., Un tad ir LXD, kas ir dēmons, kas darbojas jūsu resursdatorā, nodrošinot, ka tiek ievērotas visas konteinerizēšanai iestatītās politikas.
Pēc noklusējuma tas tiek instalēts Ubuntu Server 16.04 LTS, ja izmantojat darbvirsmas izplatīšanu, palaidiet:
$ apt instalējiet lxd lxd-klientu
Kad tas ir izdarīts, jums ir jāinicializē dažādi parametri. Šāda komanda ļaus jums tos vadīt:
$ lxd init
Šeit varat izvēlēties noklusējuma opcijas. Visvairāk iesaistītā būtu tīkla saskarņu iestatīšana. Kad tiek prasīts iestatīt LXD tīkla iestatīšanu, atlasiet noklusējuma opciju jā.
1 Atkal atbildiet uz jā, kad tiek prasīts iestatīt tīklu
Nākamajā logā tiks prasīts tīkla saskarnes nosaukums (kā redzams resursdatorā), atstājot to pēc noklusējuma vērtības lxdbr0.
Pēc tam tiks izveidots IPv4 apakštīkla iestatījums. Tas ļautu dažādiem LX konteineriem sarunāties savā starpā tā, it kā tie būtu dažādi lokālā tīkla datori. Tam atlasiet jā.
Tālāk būs vairāki 10.202.X.Šajā apakštīklā katrai X adresei ir atšķirīga loma. Jūs varat nospiest taustiņu Enter bez nepieciešamības pielāgot opcijas. Kad tiek prasīts NAT konfigurācija, atlasiet Jā.
Tas ļauj jūsu konteineriem iegūt savienojamību ar internetu, izmantojot resursdatora publisko IP, tāpat kā klēpjdators un citas ierīces, izmantojot mājas maršrutētāju (ar porta pārsūtīšanu).
Pēdējā opcija par IPv6 apakštīklu ir pilnīgi neobligāta, un es iesaku jums to tagad izlaist. Saki Nē, kad tiek prasīts ievadīt IPv6 opcijas.
Tvertņu vērpšana
Lai palaistu jaunu, teiksim, Ubuntu 16 instanci.04, izpildiet šādu komandu:
$ lxc palaišanas Ubuntu: 16.04 jūsu_konteinera nosaukums
Tā kā šī ir pirmā reize, kad izmantojat Ubuntu serveri, konteinera attēla izgūšana no attālajām krātuvēm prasīs laiku. Kad tas ir izdarīts, palaižot komandu, varat redzēt informāciju par palaisto konteineru:
$ lxc saraksts
Šajā piemērā konteinera nosaukums ir turpinājums1.
Ja vēlaties nokļūt konteinerā, palaidiet komandu;
$ lxc exec name_of_your_container bash
Tas jūs iemetīs bash apvalkā, kas iet iekšā tajā konteinerā. Tas smaržotu un justos kā svaiga Ubuntu 16 instalācija.04 un tajā var brīvi instalēt paketes un veikt dažādus eksperimentus, kas neapdraudētu galveno instalēšanu.
Tagad, kad attēla fails ir lokāli saglabāts jūsu resursdatora sistēmā, jūs varat ļoti ātri izvērst Ubuntu konteinerus un izmantot tos kā vienreizējās lietošanas sistēmas.
Lai apturētu un izdzēstu LX konteineru, palaidiet;
$ lxc stop Container_name $ lxc izdzēst container_name
Izmantojiet komandu lxc launch, tāpat kā pirmo reizi, lai izveidotu jaunus konteinerus.
Kurp doties no šejienes
Tagad, kad zināt, kāda ir LXD arhitektūra, varat sākt izpētīt tādas tēmas kā tīklu veidošana un konteineru glabāšana un kā tos konfigurēt atbilstoši jūsu darba slodzei.
Jūs varat arī uzzināt par galvenajām atšķirībām starp Docker un LXD un to, kas patiesībā varētu labāk atbilst jūsu vajadzībām. Ja vēlaties izmantot ZFS kā krātuves aizmuguri (kā jums vajadzētu!), iespējams, vēlēsities iepazīties ar šo apmācību par ZFS pamatiem.