Otu esi etinye, Mepụta na Jikwaa LXC na Ubuntu/Debian


N'ime afọ iri gara aga, obodo mepere emepe ahụwo mgbanwe na-aga n'ihu na ntinye dị ka ụzọ kachasị mma nke itinye ngwa n'ihi ọtụtụ uru ọ na-enye dị ka ibugharị, mgbanwe, nchebe na-abawanye, na njikwa ngwa dị mfe. Teknụzụ njide akpa ama ama gụnyere Docker, Podman, na LXD.

Edere ya n'asụsụ Go, a kọwara LXD (akpọ Lekseed) dị ka igbe sistemụ ọgbọ na-esote yana njikwa igwe mebere nke na-enye gị ohere ijikwa arịa gị na igwe mebere site na ahịrị iwu, ma ọ bụ site na iji REST API ma ọ bụ ngwaọrụ ndị ọzọ. LXD bụ ọrụ mepere emepe ma bụrụ ndọtị nke LXC (Linux Containers) nke bụ teknụzụ mebere ọkwa OS.

LXC batara na foto a n'ihe dị ka afọ 2008, wee malite LXD afọ 7 ka e mesịrị na 2015 nwere otu ihe ụlọ ahụ dị ka LXC. LXD bịara ime ka arịa dịkwuo mma ma dị mfe ijikwa.

N'ịbụ ndọtị nke LXC, LXD na-enye atụmatụ dị elu dị ka snapshots na njem ndụ. Ọ na-enyekwa daemon nke na-enye gị ohere ijikwa arịa na igwe mebere ngwa ngwa. Ebughị ya n'obi dochie LXC, kama, ọ bụ iji kwalite ojiji na njikwa nke arịa dabere na LXC.

N'ime ntuziaka a, anyị ga-egosi otu ị ga-esi mepụta na jikwaa akpa LXC site na iji LXD na Debian/Ubuntu.

Kwụpụ 1: Wụnye LXD na Ubuntu

Nzọụkwụ mbụ bụ ịwụnye LXD. Enwere ụzọ abụọ iji mee nke a, ị nwere ike iwunye site na ebe nchekwa Ubuntu site na iji snap.

Iji APT, buru ụzọ melite sistemụ:

$ sudo apt update

Wee wụnye hypervisor sistemu LXD dị ka ndị a.

$ sudo apt install lxd

Iji snap, ị nwere ike ịwụnye ụdị LXD kachasị ọhụrụ.

$ sudo snap install lxd

Na mgbakwunye, ịnwere ike ịwụnye ntọhapụ LTS kachasị ọhụrụ bụ LXD 4.0 dị ka ndị a:

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

Ị nwere ike nyochaa ụdị LXD arụnyere dị ka egosiri:

$ lxd --version

Ọ bụrụ na ị na-ejiri snap, ị nwere ike ịchọpụta na etinyere ngwungwu snap LXD dịka egosiri:

$ snap list

Kwụpụ 2: Na-amalite ọrụ LXD

Ka ibido ma ọ bụ bido hypervisor akpa LXD, mee iwu:

$ sudo lxd init

Iwu ahụ na-ewetara gị ọtụtụ ajụjụ gbasara otu esi ahazi LXD. Ihe ndabara na-arụ ọrụ nke ọma, agbanyeghị, ị nwere onwe gị ịkọwa ntọala nke gị dịka ihe ị chọrọ.

N'ihe atụ a, anyị ekepụtala ọdọ mmiri a na-akpọ tecmint_pool nwere sistemụ faịlụ ZFS na njikwa olu. Maka ajụjụ ndị ọzọ, anyị ahọrọla iji nhọrọ ndabara gaa. Ụzọ dị mfe ịnakwere nhọrọ ndabara bụ ịpị bọtịnụ ENTER na ahụigodo gị.

Kwado ozi enyere site na iji iwu a:

$ sudo lxc profile show default

Ị nwere ike ịga n'ihu warara ya na ọdọ mmiri a na-echekwa. Iwu ndị dị n'okpuru na-egosipụta nkọwa nke ọdọ mmiri nchekwa dị ugbu a.

$ sudo lxc storage list
$ sudo lxc storage show tecmint_pool

Ị nwekwara ike igosipụta ozi gbasara interface netwọk nke LXD na-eji, na nke a, lxdbr0, nke bụ nhọrọ ndabara.

$ sudo lxc network show lxdbr0

Kwụpụ 3: Mepụta arịa LXD na Ubuntu

Ugbu a, ka anyị gbanwee ngwa ngwa ma mepụta arịa Linux. Ị nwere ike depụta arịa niile arụgoro nke dị maka nbudata site na iji iwu:

$ sudo lxc image list images:

Nke a na-ebupụta nnukwu ndepụta nke arịa niile dị na sistemụ arụmọrụ dị iche iche dị ka Ubuntu, CentOS, Debian na AlmaLinux, iji kwuo ole na ole.

Ị nwere ike wedata ya na nkesa akọwapụtara dịka ndị a:

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

N'ihe atụ a, anyị na-edepụta arịa ndị dị.

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

Ugbu a, anyị ga-emepụta akpa mbụ anyị. Okwu syntax maka imepụta akpa bụ nke a:

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

Ugbu a, anyị ga-emepụta akpa abụọ sitere na Ubuntu 20 na Debian 10 n'otu n'otu:

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

N'ihe atụ ndị a dị n'elu, anyị ekepụtala akpa abụọ: tecmint-con1 na tecmint-con2.

Ka ịdepụta arịa ndị emepụtara, mee iwu:

$ sudo lxc list

Site na mmepụta, anyị nwere ike ịhụ igbe abụọ anyị depụtara.

Iji nweta shei na akpa LXC gbaa iwu:

$ sudo lxc exec tecmint-con1 bash

Ozugbo ị nwetara ohere shei, rịba ama na mgbanwe ozugbo na-egosi na ị na-agba ọsọ dị ka onye ọrụ mgbọrọgwụ.

Ka ịpụ na akpa ahụ, mee iwu:

$ exit

Kwụpụ 4: Ijikwa arịa LXD na Ubuntu

Ugbu a, ka anyị lelee ụfọdụ iwu ị nwere ike iji jikwaa akpa LXD.

Ka ịdepụta arịa niile na-agba ọsọ, mee iwu:

$ sudo lxc list

Iji gosipụta ozi zuru ezu gbasara akpa LXC, jiri syntax:

$ sudo lxc info container-name

Nke a ga-enye gị ozi dịka aha akpa ahụ, ihe owuwu ụlọ, ụbọchị okike, oghere netwọkụ ọkwa, bandwit, CPU, ebe nchekwa, na ojiji diski iji kpọtụrụ metric ole na ole.

Iji kwụsị akpa LXC, jiri syntax:

$ sudo lxc stop container-name

Dịka ọmụmaatụ, ka ịkwụsị akpa tecmint-con1, mebie iwu:

$ sudo lxc stop  tecmint-con1

Ọzọ, depụta arịa ndị ahụ iji gosi na akwụsịla akpa ahụ.

$ sudo lxc list

N'aka nke ọzọ, ị nwere ike depụta ma ọ bụ na-agba ọsọ ma ọ bụ kwụsịrị dịka ndị a:

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

Iji malite akpa LXC, jiri syntax:

$ sudo lxc start container-name

Dịka ọmụmaatụ, ịmalite akpa tecmint-con1 gbaa iwu:

$ sudo lxc start tecmint-con1

Ị nwere ike ịmalite ma ọ bụ kwụsị arịa site na ịgafe ha n'otu iwu nke oghere kewara site na iji syntax ndị a:

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

Dịka ọmụmaatụ, ka ịkwụsị akpa niile, gbaa ọsọ:

$ sudo lxc stop tecmint-con1 tecmint-con2

Iji malitegharịa akpa LXC, jiri syntax:

$ sudo lxc restart container-name

Dịka ọmụmaatụ, ịmalitegharịa akpa tecmint-con1 gbaa iwu:

$ sudo lxc restart tecmint-con1

N'aka nke ọzọ, ịnwere ike ịfefe ọtụtụ akpa n'otu iwu:

$ sudo lxc start container1 container2

Dịka ọmụmaatụ, ka ịmalitegharịa akpa niile, gbaa ọsọ:

$ sudo lxc restart tecmint-con1 tecmint-con2

Ka ihichapụ akpa LXC, buru ụzọ kwụsị ya, wee hichapụ ya. Dịka ọmụmaatụ, ka ihichapụ akpa tecmint-con2, mee iwu:

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

Ntuziaka a enyela gị ntọala siri ike gbasara arịa LXD yana otu ị ga-esi malite, mepụta na jikwaa arịa. Ọ bụ olile anya anyị na ị nwere ike ịmalite ma jikwaa akpa gị n'enweghị nnukwu nsogbu.