Asenna LXC (Linux Containers) RHEL:iin, Rockyyn ja AlmaLinuxiin
LXD on kuvattu seuraavan sukupolven kontti- ja virtuaalikoneenhallintaohjelmaksi, joka tarjoaa mukaansatempaavan sovelluksen Linux-järjestelmiin, jotka toimivat säilöissä tai virtuaalikoneena.
Se tarjoaa kuvia kohtuuttoman suurelle määrälle Linux-jakeluja ja tukee laajaa valikoimaa tallennustaustaohjelmia ja verkkotyyppejä. Se tarjoaa myös mahdollisuuden asentaa kuvat yksittäiselle tietokoneelle/kannettavalle ja jopa pilvi-instanssille.
LXD antaa sinun hallita säilöjä ja virtuaalikoneita kolmella tavalla. Voit hyödyntää lxc-asiakasohjelmaa tai komentorivityökalua, REST-sovellusliittymää tai jopa kolmannen osapuolen integraatioita.
LXD-ominaisuudet
Huomattavia LXD-ominaisuuksia ovat:
- LXD on kuvapohjainen kuvilla laajalle valikoimalle Linux-jakeluja.
- Se on rakennettu siten, että turvallisuus on etusijalla.
- Se tarjoaa REST API- ja lxc-komentorivityökalun vuorovaikutukseen säiliöiden kanssa.
- Se tarjoaa tukea laajalle valikoimalle tallennustaustaohjelmia, tallennustilavuuksia ja tallennusvarastoja.
- Verkonhallinta tapahtuu siltaverkkojen ja isäntien välisten tunneleiden luomisella.
- Edistynyt resurssien, kuten suorittimen, RAM:n, levyn käytön, lohko-I/O- ja ydinresurssien hallinta.
- Joustava ja skaalautuva – Voit ottaa kontteja käyttöön tietokoneellasi ja määrittää klusterin, joka voi yhdistää tuhansia säilöjä eri solmuissa.
Mikä on LXC?
Ei pidä sekoittaa LXD:n tarjoamaan lxc-komentorivityökaluun, mutta LXC (Linux Container) on suosittu käyttöjärjestelmätason virtualisointitekniikka, joka käyttää tehokasta APIa ja muita työkaluja, joiden avulla käyttäjät voivat luoda ja hallita saumattomasti säilöjä ja virtuaalikoneita yhdessä isännässä. Se sisältää malleja, työkalujen kielen ja kirjastosidoksia.
LXC:n ominaisuudet
LXC hyödyntää seuraavia ytimen ominaisuuksia prosessien käsittelyssä:
- Ytimen nimitilat: pid, mount, uts-verkko ja käyttäjä.
- CGroups (kontrolliryhmät).
- Chroots – Pivot_rootin käyttö.
- Seccompin käytännöt.
- SELinux- ja Apparmor-profiilit.
Linuxcontainers.org on kattoprojekti sekä LXD:n että LXC:n takana. Sen tavoitteena on tarjota jakelu- ja toimittajaneutraali alusta Linux-konttiteknologialle.
Kun tämä esittely on poissa tieltä, näytämme nyt, kuinka LXC-säilöjä luodaan ja hallitaan RHEL-pohjaisissa Linux-jakeluissa, kuten CentOS, Rocky Linux,< ja AlmaLinux.
Vaatimukset
Toimiva Linux-käyttöjärjestelmä minimaalisella asennuksella:
- RHEL Linuxin asennus
- CentOS Linuxin asennus
- Rocky Linuxin asennus
- AlmaLinuxin asennus
Vaihe 1: Aseta SELinux sallivaan tilaan
Aloitamme heti määrittämällä SELinuxin ja asettamalla sen sallivaksi. Mutta ennen kuin teemme niin, päivitetään järjestelmäpaketit seuraavasti:
sudo dnf update
Aseta SELinux sallivaksi suorittamalla komento:
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Jotta tämä tulee voimaan, käynnistä palvelin uudelleen.
sudo reboot
Ja vahvista SELinuxin tila.
getenforce
Vaihe 2: Asenna EPEL Repository
EPEL on Fedora-projektin arkisto, joka tarjoaa joukon korkealaatuisia paketteja RedHat Enterprise Linuxille ja muille RHEL-pohjaisille jakeluille.
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
sudo yum install epel-release
Vaihe 3: Lisää ytimen parametrit
Ennen LXD:n asentamista tarvitaan joitain lisäparametreja. Vaihda siis root-käyttäjäksi:
su -
Ja lisää parametrit seuraavasti.
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
grubby --args="namespace.unpriv_enable=1" --update-kernel="$(grubby --default-kernel)"
echo "user.max_user_namespaces=3883" | sudo tee -a /etc/sysctl.d/99-userns.conf
Kun parametrit ovat paikoillaan, jatka ja ota Snap käyttöön.
Vaihe 4: Asenna ja ota Snap käyttöön
Yksinkertaisin tapa asentaa LXD RHEL 8:aan on asentaa se snap -pakettina. Mutta ensin asennetaan snap seuraavasti.
sudo dnf install snapd
Tämä asentaa snapd-daemonin tai -palvelun muiden Python-riippuvuuksien rinnalle kuvan mukaisesti.
Kun snap on asennettu, jatka ja ota snap-pääviestintäpistoke käyttöön.
sudo systemctl enable --now snapd.socket
Ota lisäksi käyttöön klassinen tuki luomalla symbolilinkki osoitteesta /var/lib/snapd/snap kohtaan /snap.
sudo ln -s /var/lib/snapd/snap /snap
Päivitä napsautuspolut käynnistämällä järjestelmä uudelleen.
sudo reboot
Vaihe 5: Asenna LXD Containerization Manager
On kaksi tapaa asentaa LXD snap -sovelluksella. Voit asentaa LXD:n uusimman version kuvan osoittamalla tavalla.
sudo snap install —-classic lxd
Vaihtoehtoisesti voit asentaa uusimman vakaan LTS-version seuraavasti:
sudo snap install lxd --channel=4.0/stable
Jotta voit suorittaa lxc-komentoja vaihtamatta sudo-käyttäjään, lisää tällä hetkellä sisäänkirjautunut käyttäjä lxd-ryhmään.
sudo usermod -aG lxd $USER
Varmista, että käyttäjä on lisätty lxd-ryhmään luettelemalla kaikki ryhmät, joihin käyttäjä kuuluu.
groups tecmint
Suorita seuraavaksi newgrp-komento seuraavasti.
newgrp lxd
Komento muuttaa nykyisen ryhmätunnuksen kirjautumisistunnon aikana. Se asettaa nykyisen ryhmätunnuksen nimettyyn ryhmään, joka on lxd.
Vaihe 6: LXD-ympäristön alustaminen
Ennen kuin alamme luoda ja hallita LXD-säilöjä, meidän on alustettava LXD-ympäristö suorittamalla komento.
lxc init
Seuraavassa on sarja kehotteita, joiden avulla voit määrittää ympäristösi. Oletusasetukset toimivat hienosti, mutta voit vapaasti määrittää omat asetuksesi.
Olemme luoneet tallennusvaraston nimeltä tec-pool ja lvm-vaihtoehto taustapalvelimena.
Voit tarkistaa juuri määrittämäsi LXD-ympäristön käyttämällä useita komentoja. Esimerkiksi, jos haluat näyttää oletusarvoisen LXD-profiilin, suorita:
lxc profile show default
Voit näyttää verkkosovittimet sekä IPv4- ja IPv6-osoitteet suorittamalla:
lxc network list
Voit tarkentaa sitä edelleen ja näyttää tarkempia tietoja lxdbr0-käyttöliittymästä seuraavasti.
lxc network show lxdbr0
Voit myös tarkistaa tallennusaltaan.
lxc storage list
Saat lisää monimutkaisia tietoja varastoaltaasta.
lxc storage show tec-pool
Listaa käynnissä olevat lxc-säilöt suorittamalla komento:
lxc list
Tällä hetkellä meillä ei ole vielä yhtään käynnissä olevaa konttia. Joten saat tyhjän taulukon, jossa on vain sarakeotsikot.
Vaihe 7: Valmiiksi rakennettujen LXC-säiliökuvien luettelointi
Aivan kuten Docker, LXC-alusta tarjoaa valmiiksi rakennettujen kuvien arkiston, joista voit luoda säilöjä. Listaaksesi kaikki esivalmistetut kuvat kaikille käyttöjärjestelmille, mukaan lukien virtuaalikoneet, suorita komento:
lxc image list images:
Tämä täyttää valtavan luettelon säilökuvista ja virtuaalikoneista kaikille käyttöjärjestelmille. Rajataksesi tiettyyn Linux-jakeluun käytä syntaksia:
lxc image list images: grep -i os-type
Jos haluat esimerkiksi etsiä saatavilla olevia kuvia Rocky Linuxille, suorita komento:
lxc image list images: grep -i rocky
Jos etsit Debian-kuvia, suorita komento:
lxc image list images: grep -i debian
Vaihe 8: LXC-säiliöiden käynnistäminen
Käynnistä lxc-säilöt käyttämällä syntaksia:
lxc launch images:{distro}/{version}/{arch} {container-name-here}
Tässä julkaisemme kaksi konttia: tec-container1 Debian 10:stä ja tec-container2 Rocky Linux 8:sta .
lxc launch images:debian/10/amd64 tec-container1
lxc launch images:rockylinux/8/amd64 tec-container2
Listaa lxc-säilöt suorittamalla komento:
lxc list
Tulos näyttää joukon tietoja säilöistä. Tämä sisältää säilöjen nimet, tilan – käynnissä tai pysäytettynä – IPv4- ja IPv6-osoitteet, tyypin (joko säilö tai virtuaalikone) ja joukon tilannekuvia.
Jos haluat luetteloida vain käynnissä olevia säilöjä, suorita komento:
lxc list | grep -i running
Samoin suorita pysäytetyille säilöille:
lxc list | grep -i stopped
Voit tutkia säilön tietoja ja mittareita, kuten käynnissä olevia prosesseja, suorittimen ja muistin käyttöä sekä kaistanleveyttä mainitakseni muutamia komennolla:
lxc info tec-container1
Vaihe 9: Hanki Shell-pääsy LXC-säiliöön
Voit saada bash-käyttöoikeuden säilöön käyttämällä syntaksia:
lxc exec container-name name-of-the-shell
Saadaksesi shell-käyttöoikeuden tec-container1-sovellukseen suoritamme komennon:
lxc exec tec-container1 bash
Kun olet saanut shell-käyttöoikeuden, voit aloittaa vuorovaikutuksen säilön kanssa pääkäyttäjänä suorittamalla yleisiä komentotulkkikomentoja, mukaan lukien päivittämällä järjestelmän kuvan osoittamalla tavalla:
apt update
Poistu säilöstä suorittamalla komento:
exit
Vaihtoehtoisesti voit suorittaa komennot suoraan säilössä ilman, että käytät komentotulkkia seuraavassa muodossa:
lxc exec container-name command
Voit esimerkiksi suorittaa seuraavat komennot, jotka päivittävät pakettiluettelot, tarkistavat Debian-säilön käyttöjärjestelmän version ja päivämäärän.
lxc exec tec-container1 apt update
lxc exec tec-container1 cat /etc/debian_version
lxc exec tec-container1 date
Vaihe 10: Vedä/työnnä tiedosto(t) LXC-säilöyn
Toinen toiminto, jonka voit suorittaa, on siirtää tiedostoja säilöön ja sieltä pois. Tämän osoittamiseksi luomme uuden hakemiston LXD-säilöön ja siirrymme siihen.
mkdir data && cd data
Seuraavaksi luomme mallitiedoston ja lisäämme tietoja. Tätä varten luomme esimerkkitiedoston vim-editorilla
vim file1.txt
Seuraavaksi kirjoitamme mallitekstiä ja tallennamme tiedoston.
Hello World, Welcome to LXD containers.
Vedäksemme tiedoston säilöstä paikalliseen isäntäjärjestelmään käytämme syntaksia:
lxc file pull {container-name}/{path/to/file} {/path/to/local/dest}
Tässä tapauksessa komento on:
lxc file pull tec-container2/root/data/file1.txt /home/tecmint
Voit työntää tai kopioida tiedoston paikallisesta hakemistosta säilöön käyttämällä syntaksia:
lxc file push {/path/to/file} {container-nane} /path/to/dest/dir/
Tässä tapauksessa kotihakemistossa on esimerkkitiedosto nimeltä file2.txt, joka kopioidaan /root/data/-polkuun tec-container2<. kontti.
lxc file push /home/tecmint/file2.txt tec-container2/root/data/
Varmistaaksemme tiedoston olemassaolon säilössä suoritamme:
lxc exec tec-container2 ls /root/data
Vaihe 11: Pysäytä/käynnistä/käynnistä uudelleen ja poista LXC-säiliöt
lxc-komentorivityökalulla voit suorittaa säilöjen hallintatehtäviä, kuten pysäyttää, käynnistää, käynnistää uudelleen ja poistaa säilöjä.
Pysäytä lxc-säilö käyttämällä syntaksia:
lxc stop container-name
Jos esimerkiksi lopetamme tec-container1, suoritamme komennon:
lxc stop tec-container1
Käynnistä lxc-säilö käyttämällä syntaksia:
lxc start container-name
Esimerkiksi käynnistääksesi tec-container1, suoritamme:
lxc start tec-container1
Käynnistämme molemmat lxc-säilöt uudelleen suorittamalla komennon:
lxc restart tec-container1
lxc restart tec-container2
Jos haluat poistaa lxc-säilön, sinun on ensin pysäytettävä säilö ja sen jälkeen poistettava se. Esimerkiksi, jos haluat poistaa, suoritamme komennot:
lxc stop tec-container1
lxc delete tec-container1
Vaihtoehtoisesti voit yhdistää nämä kaksi komentoa kuvan mukaisesti.
lxc stop tec-container1 && lxc delete tec-container1
Vaihe 12: Hanki apua LXC-komentorivivaihtoehdoista
Saat ohjeita muihin LXC:n komentovaihtoehtoihin suorittamalla komento:
lxc --help
OR
lxc command --help e.g
lxc file --help
Johtopäätös
Tämä oli syvällinen sukellus LXD-säilöihin ja siihen, miten voit luoda ja hallita niitä lxc-komentorivityökalulla. Luotamme siihen, että tästä oppaasta oli apua.