Ubuntu/Debian-da LXC-ni nädip gurmaly, döretmeli we dolandyrmaly


Soňky on ýylda açyk çeşmeli jemgyýet, ykjamlygy, çeýeligi, howpsuzlygy ýokarlandyrmak we amaly programmalary has aňsat dolandyrmak ýaly hödürleýän köp sanly peýdalary sebäpli programmalary ýerleşdirmegiň ileri tutulýan usuly hökmünde konteýnerizasiýa üýtgemegini gördi. Meşhur konteýnerizasiýa tehnologiýalaryna Docker, Podman we LXD degişlidir.

Go dilinde ýazylan LXD (Lekseed diýilýär) indiki nesil ulgamy konteýner we wirtual maşyn dolandyryjysy hökmünde buýruk setirinden konteýnerleriňizi we wirtual maşynlaryňyzy dolandyrmaga ýa-da REST API ýa-da beýleki üçünji tarap gurallaryny ulanmaga mümkinçilik berýär. LXD açyk çeşme taslamasy we OS derejesindäki wirtuallaşdyryş tehnologiýasy bolan LXC (Linux Containers) -iň giňeltmesi.

LXC 2008-nji ýylda surata düşdi we LXD 7 ýyl soň 2015-nji ýylda LXC ýaly gurluşyk bloklary bilen işe girizildi. Konteýnerleri ulanyjylara has amatly we dolandyrmak aňsat etmek üçin LXD geldi.

LXC-iň giňelmesi bolmak bilen, LXD suratlar we göni göçürme ýaly ösen aýratynlyklary üpjün edýär. Şeýle hem konteýnerleri we wirtual maşynlary aňsatlyk bilen dolandyrmaga mümkinçilik berýän daemon bilen üpjün edýär. LXC-ni çalyşmak üçin däl-de, LXC esasly gaplaryň ulanylyşyny we işleýşini gowulandyrmaga gönükdirilendir.

Bu gollanmada, Debian/Ubuntu-da LXD ulanyp, LXC konteýnerlerini nädip döredip we dolandyryp boljakdygyny görkezeris.

1-nji ädim: Ubuntu-da LXD guruň

Birinji ädim LXD gurmak. Muny etmegiň iki usuly bar, gysga wagtda Ubuntu ammaryndan gurnap bilersiňiz.

APT ulanyp, ilki ulgamy täzeläň:

$ sudo apt update

Soňra LXD ulgam konteýner giperwizoryny aşakdaky ýaly guruň.

$ sudo apt install lxd

Snap ulanyp, LXD-iň iň soňky wersiýasyny gurup bilersiňiz.

$ sudo snap install lxd

Mundan başga-da, LXD 4.0 iň soňky LTS goýberilişini aşakdaky ýaly gurnap bilersiňiz:

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

Gurlan LXD wersiýasyny görkezilişi ýaly barlap bilersiňiz:

$ lxd --version

Öň surata düşüren bolsaňyz, LXD snap paketiniň görkezilişi ýaly gurlandygyny barlap bilersiňiz:

$ snap list

2-nji ädim: LXD hyzmatyny başlamak

LXD konteýner giperwizoryny işe girizmek ýa-da başlamak üçin buýrugy işlediň:

$ sudo lxd init

Buýruk size LXD-ni nädip sazlamalydygy barada birnäçe sorag berýär. Dymmaklyk gaty gowy işleýär, ýöne talaplaryňyza görä öz sazlamalaryňyzy kesgitlemek hukugyňyz bar.

Bu mysalda, ZFS faýl ulgamy we ses dolandyryjysy bilen tecmint_pool atly ammar howuzyny döretdik. Galan soraglar üçin, deslapky saýlawlar bilen gitmegi saýladyk. Adaty saýlawy kabul etmegiň aňsat usuly, klawiaturadaky ENTER düwmesini basmakdyr.

Buýrugy işletmek bilen berlen maglumatlary tassyklaň:

$ sudo lxc profile show default

Mundan başga-da döredilen ammar howzuna çenli gysgaldyp bilersiňiz. Aşakdaky buýruklar häzirki ammar howuzlarynyň jikme-jikliklerini görkezýär.

$ sudo lxc storage list
$ sudo lxc storage show tecmint_pool

Şeýle hem, LXD tarapyndan ulanylýan tor interfeýsi barada maglumatlary görkezip bilersiňiz, bu ýagdaýda deslapky saýlaw bolan lxdbr0.

$ sudo lxc network show lxdbr0

3-nji ädim: Ubuntu-da LXD konteýnerlerini döretmek

Indi, dişli çalyşalyň we Linux konteýnerlerini döredeliň. Buýrugy ulanyp göçürip alyp boljak ähli gurlan gaplary sanap bilersiňiz:

$ sudo lxc image list images:

Bu, Ubuntu, CentOS, Debian we AlmaLinux ýaly dürli operasiýa ulgamlaryndaky ähli konteýnerleriň ägirt uly sanawyny jemleýär.

Aşakdaky ýaly belli bir paýlamaga çenli çäklendirip bilersiňiz:

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

Bu mysalda, elýeterli gaplary sanap geçýäris.

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

Indi ilkinji konteýnerimizi döretmekçi. Konteýner döretmek üçin sintaksis aşakdaky ýaly:

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

Indi Ubuntu 20 we Debian 10-dan iki sany konteýner dörederis:

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

Aboveokardaky mysallarda iki konteýner döretdik: tecmint-con1 we tecmint-con2.

Döredilen gaplary sanamak üçin buýrugy işlediň:

$ sudo lxc list

Çykyşdan sanalan iki konteýnerimizi görüp bileris.

LXC konteýnerine gabykdan girmek üçin buýrugy işlediň:

$ sudo lxc exec tecmint-con1 bash

Gabykdan peýdalananyňyzdan soň, kök ulanyjy hökmünde işleýändigiňizi görkezmek üçin haýal etmän üýtgeýändigine üns beriň.

Konteýnerden çykmak üçin buýrugy işlediň:

$ exit

4-nji ädim: Ubuntu-da LXD konteýnerlerini dolandyrmak

Indi, LXD konteýnerlerini dolandyrmak üçin ulanyp boljak käbir buýruklary gözden geçireliň.

Thehli işleýän gaplary sanamak üçin buýrugy işlediň:

$ sudo lxc list

LXC konteýner hakda jikme-jik maglumat görkezmek üçin sintaksis ulanyň:

$ sudo lxc info container-name

Bu, konteýneriň ady, arhitekturasy, döredilen senesi, ýagdaý tor interfeýsleri, geçirijilik giňligi, CPU, ýat we disk ulanylyşy ýaly birnäçe maglumatlary görkezer.

LXC konteýnerini duruzmak üçin sintaksis ulanyň:

$ sudo lxc stop container-name

Mysal üçin, konteýner tecmint-con1-i duruzmak üçin buýrugy ýerine ýetiriň:

$ sudo lxc stop  tecmint-con1

Againene-de konteýneriň saklanandygyny tassyklamak üçin gaplary sanaň.

$ sudo lxc list

Ativea-da bolmasa, işleýän ýa-da saklanan gaplary aşakdaky ýaly sanap bilersiňiz:

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

LXC konteýnerini başlamak üçin sintaksis ulanyň:

$ sudo lxc start container-name

Mysal üçin, konteýner tecmint-con1 başlamak üçin buýrugy işlediň:

$ sudo lxc start tecmint-con1

Konteýnerleri aşakdaky sintaksis ulanyp, boşluk bilen bölünen bir buýrukda aýlap başlap ýa-da duruzyp bilersiňiz:

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

Mysal üçin, ähli gaplary duruzmak üçin işlediň:

$ sudo lxc stop tecmint-con1 tecmint-con2

LXC konteýnerini täzeden açmak üçin sintaksis ulanyň:

$ sudo lxc restart container-name

Mysal üçin, konteýner tecmint-con1 täzeden açmak üçin buýrugy işlediň:

$ sudo lxc restart tecmint-con1

Ativea-da bolmasa, bir buýrukda birnäçe konteýner geçirip bilersiňiz:

$ sudo lxc start container1 container2

Mysal üçin, ähli gaplary täzeden açmak üçin işlediň:

$ sudo lxc restart tecmint-con1 tecmint-con2

LXC konteýnerini ýok etmek üçin ilki ony saklaň, soňra pozuň. Mysal üçin, konteýner tecmint-con2-i pozmak üçin buýrugy işlediň:

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

Bu gollanma size LXD konteýnerleri we konteýnerleri nädip işe girizip, döredip we dolandyryp boljakdygy barada berk binýady üpjün etdi. Indi konteýnerleriňizi rahatlyk bilen işe girizip we dolandyryp bilersiňiz diýip umyt edýäris.