Jinsi ya Kufunga, Kuunda na Kusimamia LXC katika Ubuntu/Debian


Katika muongo uliopita, jumuiya ya programu huria imeona mabadiliko ya mara kwa mara kwenye uwekaji vyombo kama njia inayopendelewa ya kupeleka programu kutokana na manufaa mengi inayotoa kama vile kubebeka, kunyumbulika, kuongezeka kwa usalama, na usimamizi rahisi wa programu. Teknolojia maarufu za uwekaji vyombo ni pamoja na Docker, Podman, na LXD.

Imeandikwa kwa lugha ya Go, LXD (inayotamkwa kama Lekseed) inafafanuliwa kama chombo cha mfumo wa kizazi kijacho na kidhibiti cha mashine ambacho hukuruhusu kudhibiti vyombo vyako na mashine pepe kutoka kwa safu ya amri, au kwa kutumia API ya REST au zana zingine za watu wengine. LXD ni mradi wa chanzo huria na ni kiendelezi cha LXC (Linux Containers) ambayo ni teknolojia ya uboreshaji wa kiwango cha OS.

LXC ilikuja kwenye picha karibu 2008, na LXD ilizinduliwa miaka 7 baadaye mnamo 2015 na vizuizi sawa na LXC. LXD ilikuja kufanya vyombo kuwa rafiki zaidi na rahisi kudhibiti.

Kwa kuwa ni kiendelezi cha LXC, LXD hutoa vipengele vya kina kama vile vijipicha na uhamiaji wa moja kwa moja. Pia hutoa daemon ambayo hukuruhusu kudhibiti vyombo na mashine pepe kwa urahisi. Haikusudiwi kuchukua nafasi ya LXC, badala yake, inalenga kuboresha utumiaji na utunzaji wa vyombo vyenye msingi wa LXC.

Katika mwongozo huu, tutaonyesha jinsi unavyoweza kuunda na kudhibiti vyombo vya LXC kwa kutumia LXD kwenye Debian/Ubuntu.

Hatua ya 1: Sakinisha LXD kwenye Ubuntu

Hatua ya kwanza ni kusakinisha LXD. Kuna njia mbili za kufanya hivyo, unaweza kusanikisha kutoka kwa hazina ya Ubuntu kwa kutumia snap.

Kwa kutumia APT, sasisha kwanza mfumo:

$ sudo apt update

Kisha usakinishe hypervisor ya chombo cha LXD kama ifuatavyo.

$ sudo apt install lxd

Kwa kutumia snap, unaweza kusakinisha toleo jipya zaidi la LXD.

$ sudo snap install lxd

Kwa kuongeza, unaweza kusakinisha toleo jipya la LTS ambalo ni LXD 4.0 kama ifuatavyo:

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

Unaweza kuthibitisha toleo la LXD iliyosakinishwa kama inavyoonyeshwa:

$ lxd --version

Ikiwa ulikuwa unapiga picha, unaweza kuthibitisha kuwa kifurushi cha LXD snap kilisakinishwa kama inavyoonyeshwa:

$ snap list

Hatua ya 2: Kuanzisha Huduma ya LXD

Kuanzisha au kuanza hypervisor ya chombo cha LXD, endesha amri:

$ sudo lxd init

Amri inakupa seti ya maswali kuhusu jinsi ya kusanidi LXD. Chaguo-msingi hufanya kazi vizuri, hata hivyo, una uhuru wa kutaja mipangilio yako mwenyewe kulingana na mahitaji yako.

Katika mfano huu, tumeunda hifadhi inayoitwa tecmint_pool na mfumo wa faili wa ZFS na kidhibiti cha sauti. Kwa maswali mengine, tumechagua kwenda na chaguo-msingi. Njia rahisi ya kukubali chaguo-msingi ni kubonyeza kitufe cha ENTER kwenye kibodi yako.

Thibitisha habari iliyotolewa kwa kuendesha amri:

$ sudo lxc profile show default

Unaweza kuipunguza zaidi hadi kwenye hifadhi iliyoundwa. Amri zilizo hapa chini zinaonyesha maelezo ya hifadhi za sasa za hifadhi.

$ sudo lxc storage list
$ sudo lxc storage show tecmint_pool

Unaweza pia kuonyesha habari kuhusu kiolesura cha mtandao kinachotumiwa na LXD, katika kesi hii, lxdbr0, ambayo ni chaguo-msingi.

$ sudo lxc network show lxdbr0

Hatua ya 3: Kuunda Vyombo vya LXD katika Ubuntu

Sasa, hebu tubadilishe gia na tuunde vyombo vya Linux. Unaweza kuorodhesha vyombo vyote vilivyoundwa awali ambavyo vinapatikana kwa kupakuliwa kwa kutumia amri:

$ sudo lxc image list images:

Hii inajaza orodha kubwa ya vyombo vyote katika mifumo mbalimbali ya uendeshaji kama vile Ubuntu, CentOS, Debian, na AlmaLinux, kutaja chache.

Unaweza kuipunguza kwa usambazaji maalum kama ifuatavyo:

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

Katika mfano huu, tunaorodhesha vyombo vinavyopatikana.

$ sudo lxc image list images: | grep -i ubuntu

Sasa, tutaunda chombo chetu cha kwanza. Syntax ya kuunda chombo ni kama ifuatavyo.

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

Sasa tutaunda vyombo viwili kutoka Ubuntu 20 na Debian 10 mtawaliwa:

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

Katika mifano iliyo hapo juu, tumeunda vyombo viwili: tecmint-con1 na tecmint-con2.

Ili kuorodhesha vyombo vilivyoundwa, endesha amri:

$ sudo lxc list

Kutoka kwa matokeo, tunaweza kuona vyombo vyetu viwili vilivyoorodheshwa.

Ili kupata ufikiaji wa ganda kwa chombo cha LXC endesha amri:

$ sudo lxc exec tecmint-con1 bash

Mara tu unapopata ufikiaji wa ganda, tambua kuwa mabadiliko ya haraka yanaonyesha kuwa unaendesha kama mtumiaji wa mizizi.

Ili kuondoka kwenye chombo, endesha amri:

$ exit

Hatua ya 4: Kusimamia Vyombo vya LXD katika Ubuntu

Sasa, hebu tuangalie baadhi ya amri unazoweza kutumia kudhibiti vyombo vya LXD.

Ili kuorodhesha vyombo vyote vinavyoendesha, endesha amri:

$ sudo lxc list

Ili kuonyesha maelezo ya kina kuhusu chombo cha LXC, tumia sintaksia:

$ sudo lxc info container-name

Hii itakupa maelezo kama vile jina la kontena, usanifu, tarehe ya kuundwa, violesura vya hali ya mtandao, kipimo data, CPU, kumbukumbu na matumizi ya diski ili kutaja vipimo vichache.

Ili kusimamisha chombo cha LXC, tumia syntax:

$ sudo lxc stop container-name

Kwa mfano, kusimamisha kontena tecmint-con1, tekeleza amri:

$ sudo lxc stop  tecmint-con1

Tena, orodhesha vyombo ili kuthibitisha kwamba chombo kimesimamishwa.

$ sudo lxc list

Vinginevyo, unaweza kuorodhesha vyombo vinavyoendesha au vilivyosimamishwa kama ifuatavyo:

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

Kuanzisha chombo cha LXC, tumia syntax:

$ sudo lxc start container-name

Kwa mfano, kuanza kontena tecmint-con1 endesha amri:

$ sudo lxc start tecmint-con1

Unaweza kuanza au kusimamisha vyombo kuvipita kwa amri moja iliyotenganishwa na nafasi kwa kutumia syntax ifuatayo:

$ sudo lxc stop container1 container2
$ sudo lxc start container1 container2

Kwa mfano, kusimamisha vyombo vyote, endesha:

$ sudo lxc stop tecmint-con1 tecmint-con2

Ili kuanzisha tena chombo cha LXC, tumia syntax:

$ sudo lxc restart container-name

Kwa mfano, kuanzisha tena kontena tecmint-con1 endesha amri:

$ sudo lxc restart tecmint-con1

Vinginevyo, unaweza kupitisha vyombo vingi kwa amri moja:

$ sudo lxc start container1 container2

Kwa mfano, ili kuanza tena vyombo vyote, endesha:

$ sudo lxc restart tecmint-con1 tecmint-con2

Ili kufuta kontena la LXC, kwanza, lisimamishe, kisha ufute. Kwa mfano, ili kufuta kontena tecmint-con2, endesha amri:

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

Mwongozo huu umekupa msingi thabiti kuhusu vyombo vya LXD na jinsi unavyoweza kuzindua, kuunda na kudhibiti vyombo. Ni matumaini yetu kuwa sasa unaweza kuzindua na kudhibiti makontena yako kwa raha bila matatizo mengi.