LXC:n asentaminen, luominen ja hallinta Ubuntussa/Debianissa


Viimeisen vuosikymmenen aikana avoimen lähdekoodin yhteisö on nähnyt tasaisen siirtymisen konttivarastoon suosituimpana tapana ottaa sovelluksia käyttöön sen tarjoamien lukuisten etujen, kuten siirrettävyyden, joustavuuden, lisääntyneen turvallisuuden ja sovellusten helpomman hallinnan, ansiosta. Suosittuja konttitekniikoita ovat Docker, Podman ja LXD.

Go-kielellä kirjoitettua LXD:tä (lausutaan nimellä Lekseed) kuvataan seuraavan sukupolven järjestelmäsäilön ja virtuaalikoneen hallinnan avulla, jonka avulla voit hallita säilöjäsi ja virtuaalikoneitasi komentoriviltä tai käyttämällä REST API tai muut kolmannen osapuolen työkalut. LXD on avoimen lähdekoodin projekti, ja se on LXC:n (Linux Containers) laajennus, joka on käyttöjärjestelmätason virtualisointitekniikka.

LXC tuli kuvaan noin vuonna 2008, ja LXD julkaistiin 7 vuotta myöhemmin vuonna 2015 samoilla rakennuspalikoilla kuin LXC. LXD tuli tekemään säilöistä käyttäjäystävällisempiä ja helpompia hallita.

LXC:n laajennuksena LXD tarjoaa edistyneitä ominaisuuksia, kuten tilannekuvia ja reaaliaikaista siirtoa. Se tarjoaa myös demonin, jonka avulla voit helposti hallita säilöjä ja virtuaalikoneita. Sen ei ole tarkoitus syrjäyttää LXC:tä, vaan sen tarkoituksena on parantaa LXC-pohjaisten säiliöiden käytettävyyttä ja käsittelyä.

Tässä oppaassa näytämme, kuinka voit luoda ja hallita LXC-säilöjä käyttämällä LXD:tä Debianissa/Ubuntussa.

Vaihe 1: Asenna LXD Ubuntuun

Ensimmäinen vaihe on asentaa LXD. Voit tehdä tämän kahdella tavalla: voit asentaa Ubuntun arkistosta APT-paketinhallinnan avulla tai voit käyttää snapia.

Päivitä järjestelmä ensin APT:n avulla:

sudo apt update

Asenna sitten LXD-järjestelmäsäiliön hypervisor seuraavasti.

sudo apt install lxd

Snapin avulla voit asentaa LXD:n uusimman version.

sudo snap install lxd

Lisäksi voit asentaa uusimman LTS-julkaisun, joka on LXD 4.0, seuraavasti:

sudo snap install lxd --channel=4.0/stable

Voit tarkistaa asennetun LXD-version kuvan osoittamalla tavalla:

lxd --version

Jos käytit snapia, voit varmistaa, että LXD-snap-paketti on asennettu kuvan mukaisesti:

snap list

Vaihe 2: LXD-palvelun alustaminen

Alusta tai käynnistä LXD-säilöhypervisor suorittamalla komento:

sudo lxd init

Komento esittää sinulle joukon kysymyksiä LXD:n määrittämisestä. Oletusasetukset toimivat hienosti, mutta voit vapaasti määrittää omat asetukset tarpeidesi mukaan.

Tässä esimerkissä olemme luoneet tallennusvarannon nimeltä tecmint_pool, jossa on ZFS-tiedostojärjestelmä ja taltionhallinta. Muiden kysymysten osalta olemme päättäneet valita oletusvaihtoehdot. Helppo tapa hyväksyä oletusvalinta on painaa näppäimistön ENTER-painiketta.

Vahvista antamasi tiedot suorittamalla komento:

sudo lxc profile show default

Voit rajata sen edelleen luotuun tallennuspooliin. Alla olevat komennot näyttävät tietoja nykyisistä tallennusvarannoista.

sudo lxc storage list
sudo lxc storage show tecmint_pool

Voit myös näyttää tietoja LXD:n käyttämästä verkkoliittymästä, tässä tapauksessa lxdbr0, joka on oletusvalinta.

sudo lxc network show lxdbr0

Vaihe 3: LXD-säilöjen luominen Ubuntussa

Vaihdetaan nyt vaihdetta ja luodaan Linux-säilöjä. Voit luetella kaikki valmiiksi rakennetut säilöt, jotka ovat ladattavissa komennolla:

sudo lxc image list images:

Tämä täyttää valtavan luettelon kaikista eri käyttöjärjestelmien, kuten Ubuntu, CentOS, Debian ja AlmaLinux, säilöistä muutamia mainitakseni.

Voit rajata sen tiettyyn jakeluun seuraavasti:

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

Tässä esimerkissä luetellaan käytettävissä olevat säiliöt.

sudo lxc image list images: | grep -i ubuntu

Nyt aiomme luoda ensimmäisen konttimme. Syntaksi säilön luomiseen on seuraava:

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

Nyt aiomme luoda kaksi säilöä Ubuntu 20:stä ja Debian 10:stä:

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

Yllä olevissa esimerkeissä olemme luoneet kaksi säilöä: tecmint-con1 ja tecmint-con2.

Listaa luodut säilöt suorittamalla komento:

sudo lxc list

Tulosteesta näemme kaksi konttiamme luettelossa.

Saadaksesi shell-käyttöoikeuden LXC-säilöön suorittamalla komento:

sudo lxc exec tecmint-con1 bash

Kun olet saanut shell-käyttöoikeuden, huomaa, että kehote muuttuu osoittamaan, että käytät pääkäyttäjänä.

Poistu säilöstä suorittamalla komento:

exit

Vaihe 4: LXD-säilöjen hallinta Ubuntussa

Katsotaanpa nyt joitain komentoja, joilla voit hallita LXD-säilöjä.

Listaa kaikki käynnissä olevat säilöt suorittamalla komento:

sudo lxc list

Voit näyttää yksityiskohtaiset tiedot LXC-säilystä käyttämällä syntaksia:

sudo lxc info container-name

Tämä antaa sinulle tietoja, kuten säilön nimen, arkkitehtuurin, luomispäivämäärän, tilaverkkoliitännät, kaistanleveyden, suorittimen, muistin ja levyn käytön muutamia mittareita mainitakseni.

Pysäytä LXC-säilö käyttämällä syntaksia:

sudo lxc stop container-name

Jos esimerkiksi haluat pysäyttää säilön tecmint-con1, suorita komento:

sudo lxc stop  tecmint-con1

Listaa säilöt uudelleen varmistaaksesi, että säilö on pysäytetty.

sudo lxc list

Vaihtoehtoisesti voit listata joko käynnissä olevat tai pysähtyneet säilöt seuraavasti:

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

Aloita LXC-säilö käyttämällä syntaksia:

sudo lxc start container-name

Esimerkiksi aloittaaksesi säilön tecmint-con1 suorita komento:

sudo lxc start tecmint-con1

Voit käynnistää tai pysäyttää säilöjä ohittamalla ne yhdellä välilyönnillä erotetulla komennolla käyttämällä seuraavaa syntaksia:

sudo lxc stop container1 container2
sudo lxc start container1 container2

Esimerkiksi, jos haluat pysäyttää kaikki säilöt, suorita:

sudo lxc stop tecmint-con1 tecmint-con2

Käynnistä LXC-säilö uudelleen käyttämällä syntaksia:

sudo lxc restart container-name

Esimerkiksi käynnistääksesi uudelleen säilön tecmint-con1 suorita komento:

sudo lxc restart tecmint-con1

Vaihtoehtoisesti voit välittää useita säilöjä yhdessä komennossa:

sudo lxc start container1 container2

Esimerkiksi käynnistääksesi kaikki säilöt uudelleen, suorita:

sudo lxc restart tecmint-con1 tecmint-con2

Jos haluat poistaa LXC-säilön, pysäytä se ensin ja poista se sitten. Jos haluat esimerkiksi poistaa säilön tecmint-con2, suorita komento:

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

Tämä opas on antanut sinulle vankan perustan LXD-säilöistä ja siitä, kuinka voit käynnistää, luoda ja hallita säilöjä. Toivomme, että voit nyt mukavasti käynnistää ja hallita konttejasi ilman suuria vaikeuksia.