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.