Giunsa ang Pag-install, Paghimo ug Pagdumala sa LXC sa Ubuntu/Debian


Sa miaging dekada, ang open-source nga komunidad nakakita sa usa ka makanunayon nga pagbalhin ngadto sa containerization isip ang gusto nga paagi sa pagdeploy sa mga aplikasyon salamat sa daghang mga benepisyo nga gitanyag niini sama sa portability, flexibility, dugang nga seguridad, ug mas sayon nga pagdumala sa mga aplikasyon. Ang mga sikat nga teknolohiya sa containerization naglakip sa Docker, Podman, ug LXD.

Gisulat sa Go nga pinulongan, ang LXD (gipahayag nga Lekseed) gihulagway nga sunod nga henerasyon nga sudlanan sa sistema ug virtual machine manager nga nagtugot kanimo sa pagdumala sa imong mga sudlanan ug virtual machine gikan sa command line, o pinaagi sa paggamit sa REST API o uban pang mga himan sa ikatulo nga partido. Ang LXD usa ka open-source nga proyekto ug usa ka extension sa LXC (Linux Containers) nga mao ang OS-level virtualization nga teknolohiya.

Ang LXC miabut sa hulagway sa palibot sa 2008, ug ang LXD gilunsad 7 ka tuig sa ulahi sa 2015 nga adunay parehas nga mga bloke sa pagtukod sa LXC. Ang LXD mianhi aron sa paghimo sa mga sudlanan nga mas user-friendly ug daling madumala.

Ingon usa ka extension sa LXC, ang LXD naghatag mga advanced nga bahin sama sa mga snapshot ug live migration. Naghatag usab kini usa ka daemon nga dali nimo nga madumala ang mga sulud ug virtual nga makina. Wala kini gituyo nga ilisan ang LXC, hinoon, gitumong kini sa pagpauswag sa pagkagamit ug pagdumala sa mga sudlanan nga nakabase sa LXC

Niini nga giya, among ipakita kung giunsa nimo paghimo ug pagdumala ang mga sudlanan sa LXC gamit ang LXD sa Debian/Ubuntu.

Lakang 1: I-install ang LXD sa Ubuntu

Ang unang lakang mao ang pag-instalar sa LXD. Adunay duha ka paagi sa pagbuhat niini, mahimo nimong i-install gikan sa repositoryo sa Ubuntu gamit ang snap.

Gamit ang APT, una nga i-update ang sistema:

$ sudo apt update

Dayon i-install ang LXD system container hypervisor sama sa mosunod.

$ sudo apt install lxd

Gamit ang snap, mahimo nimong i-install ang pinakabag-o nga bersyon sa LXD.

$ sudo snap install lxd

Dugang pa, mahimo nimong i-install ang pinakabag-o nga pagpagawas sa LTS nga mao ang LXD 4.0 sama sa mosunod:

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

Mahimo nimong pamatud-an ang bersyon sa LXD nga na-install sama sa gipakita:

$ lxd --version

Kung nag-snap ka kaniadto, mahimo nimong pamatud-an nga ang LXD snap package na-install sama sa gipakita:

$ snap list

Lakang 2: Pagsugod sa Serbisyo sa LXD

Aron masugdan o masugdan ang LXD container hypervisor, padagana ang command:

$ sudo lxd init

Ang sugo naghatag kanimo og usa ka hugpong sa mga pangutana kon unsaon pag-configure ang LXD. Ang mga default nagtrabaho nga maayo, bisan pa, ikaw adunay kagawasan sa pagtino sa imong kaugalingon nga mga setting sumala sa imong mga kinahanglanon.

Niini nga pananglitan, naghimo kami og storage pool nga gitawag og tecmint_pool nga adunay ZFS file system ug volume manager. Alang sa nahabilin nga mga pangutana, gipili namon ang pag-adto sa mga default nga kapilian. Usa ka sayon nga paagi sa pagdawat sa default nga pagpili mao ang pagpindot sa ENTER button sa imong keyboard.

Kumpirma ang impormasyon nga gihatag pinaagi sa pagpadagan sa sugo:

$ sudo lxc profile show default

Mahimo nimo kini dugang nga pig-ot ngadto sa storage pool nga gihimo. Ang mga sugo sa ubos nagpakita sa mga detalye sa kasamtangan nga storage pool.

$ sudo lxc storage list
$ sudo lxc storage show tecmint_pool

Mahimo usab nimo ipakita ang kasayuran bahin sa interface sa network nga gigamit sa LXD, sa kini nga kaso, lxdbr0, nga mao ang default nga pagpili.

$ sudo lxc network show lxdbr0

Lakang 3: Paghimo LXD Containers sa Ubuntu

Karon, ibalhin nato ang mga gears ug maghimo og mga sudlanan sa Linux. Mahimo nimong ilista ang tanan nga prebuilt nga mga sudlanan nga magamit alang sa pag-download gamit ang mando:

$ sudo lxc image list images:

Gipuno niini ang usa ka dako nga lista sa tanan nga mga sulud sa lainlaing mga operating system sama sa Ubuntu, CentOS, Debian, ug AlmaLinux, aron mahisgutan ang pipila.

Mahimo nimo kini hiktin ngadto sa usa ka piho nga pag-apod-apod sama sa mosunod:

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

Niini nga pananglitan, among gilista ang anaa nga mga sudlanan.

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

Karon, maghimo kami sa among una nga sudlanan. Ang syntax sa paghimo og sudlanan mao ang mosunod:

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

Karon maghimo kami og duha ka mga sudlanan gikan sa Ubuntu 20 ug Debian 10 matag usa:

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

Sa mga pananglitan sa ibabaw, nakahimo kami og duha ka sudlanan: tecmint-con1 ug tecmint-con2.

Aron ilista ang mga sudlanan nga gihimo, padagana ang mando:

$ sudo lxc list

Gikan sa output, atong makita ang atong duha ka sudlanan nga gilista.

Aron makakuha og shell access sa usa ka LXC nga sudlanan padagana ang command:

$ sudo lxc exec tecmint-con1 bash

Kung nakuha na nimo ang pag-access sa kabhang, matikdi nga ang mga pagbag-o dayon aron ipakita nga nagdagan ka ingon ang gamut nga tiggamit.

Aron makagawas sa sudlanan, padagana ang sugo:

$ exit

Lakang 4: Pagdumala sa LXD Containers sa Ubuntu

Karon, atong susihon ang pipila sa mga sugo nga imong magamit sa pagdumala sa LXD nga mga sudlanan.

Aron ilista ang tanan nga nagdagan nga mga sudlanan, padagana ang mando:

$ sudo lxc list

Aron ipakita ang detalyado nga kasayuran bahin sa usa ka sudlanan sa LXC, gamita ang syntax:

$ sudo lxc info container-name

Maghatag kini kanimo og impormasyon sama sa ngalan sa sudlanan, arkitektura, petsa sa paghimo, mga interface sa status sa network, bandwidth, CPU, memorya, ug paggamit sa disk aron mahisgutan ang pipila ka metrics.

Aron mapahunong ang usa ka sudlanan sa LXC, gamita ang syntax:

$ sudo lxc stop container-name

Pananglitan, aron mahunong ang container tecmint-con1, ipatuman ang sugo:

$ sudo lxc stop  tecmint-con1

Pag-usab, ilista ang mga sudlanan aron makumpirma nga ang sudlanan nahunong.

$ sudo lxc list

Sa laing paagi, mahimo nimong ilista ang nagdagan o nahunong nga mga sudlanan sama sa mosunod:

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

Aron makasugod ug LXC nga sudlanan, gamita ang syntax:

$ sudo lxc start container-name

Pananglitan, sa pagsugod sa sudlanan tecmint-con1 ipadagan ang sugo:

$ sudo lxc start tecmint-con1

Mahimo nimong sugdan o hunongon ang mga sudlanan sa pag-bypass niini sa usa ka sugo nga gibulag sa usa ka luna gamit ang mosunod nga syntax:

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

Pananglitan, aron mapahunong ang tanan nga mga sudlanan, pagdagan:

$ sudo lxc stop tecmint-con1 tecmint-con2

Aron ma-restart ang usa ka sudlanan sa LXC, gamita ang syntax:

$ sudo lxc restart container-name

Pananglitan, aron i-restart ang container tecmint-con1 ipadagan ang command:

$ sudo lxc restart tecmint-con1

Sa laing paagi, mahimo nimong ipasa ang daghang mga sudlanan sa usa ka mando:

$ sudo lxc start container1 container2

Pananglitan, aron ma-restart ang tanan nga mga sudlanan, pagdagan:

$ sudo lxc restart tecmint-con1 tecmint-con2

Aron matangtang ang usa ka sudlanan sa LXC, una, ihunong kini, dayon i-delete kini. Pananglitan, aron mapapas ang container tecmint-con2, padagana ang command:

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

Kini nga giya naghatag kanimo usa ka lig-on nga pundasyon bahin sa mga sudlanan sa LXD ug kung giunsa nimo paglansad, paghimo ug pagdumala ang mga sudlanan. Kami nanghinaut nga mahimo nimong komportable nga malansad ug madumala ang imong mga sudlanan nga wala’y daghang kalisud.