Installieren Sie LXC (Linux Container) in Rhel, Rocky & Almalinux
- 4005
- 829
- Lana Saumweber
LXD wird als Container- und Virtual Machine Manager der nächsten Generation beschrieben, der für Linux-Systeme, die in Containern oder als virtuelle Maschinen ausgeführt werden.
Es bietet Bilder für eine übermäßige Anzahl von Linux -Verteilungen mit Unterstützung für eine große Auswahl an Speicher -Backends und Netzwerktypen. Es bietet auch die Möglichkeit, die Bilder auf einem einzelnen PC/Laptop und sogar auf einer Cloud -Instanz zu installieren.
LXD Ermöglicht Ihnen, Container und VMs auf drei Arten zu verwalten. Sie können das nutzen LXC -Client oder Befehlszeilen-Tool, eine REST-API oder sogar Integrationen von Drittanbietern.
LXD -Funktionen
Bemerkenswert LXD Features sind:
- LXD ist bildbasiert mit Bildern für eine große Auswahl von Linux-Verteilungen.
- Es wird mit Sicherheit als oberste Priorität gebaut.
- Es bietet ein REST-API und ein LXC-Befehlszeilen-Tool, um mit Containern zu interagieren.
- Es unterstützt eine Vielzahl von Speicher -Backends, Speichermengen und Speicherpools.
- Das Netzwerkmanagement erfolgt durch die Erstellung von Brückennetzwerken und Cross-Host-Tunneln.
- Erweiterte Kontrolle der Ressourcen wie CPU, RAM, Festplattennutzung, Block I/O und Kernel -Ressourcen.
- Flexibel und skalierbar - Sie können Container auf Ihrem PC bereitstellen und einen Cluster konfigurieren, der Tausende von Containern auf verschiedenen Knoten aggregieren kann.
Was ist LXC?
Nicht verwechselt mit dem LXC Befehlszeilen-Client-Tool zur Verfügung gestellt von LXD, LXC (Linux -Container) ist eine beliebte Virtualisierungstechnologie auf OS-Ebene, die eine leistungsstarke API und andere Tools verwendet, mit denen Benutzer Container und virtuelle Maschinen in einem einzigen Host nahtlos erstellen und verwalten können. Es umfasst Vorlagen, Tools Sprache und Bibliotheksbindungen.
LXC -Funktionen
LXC Nutzt die folgenden Kernelfunktionen, um Prozesse zu verarbeiten:
- Kernel -Namespaces: PID, Mount, UTS -Netzwerk und Benutzer.
- CGroups (Kontrollgruppen).
- Chroots - mit pivot_root mit.
- SECComp -Richtlinien.
- Selinux- und Apparmorprofile.
Linuxcontainer.Org ist das Regenschirmprojekt hinter beiden LXD Und LXC. Ziel ist es, eine Distribose- und Lieferantenneutralplattform für Linux-Containertechnologien anzubieten.
Mit dieser Einführung werden wir nun demonstrieren, wie man erstellt und verwaltet LXC Container auf rhelbasierten Linux-Verteilungen wie z Centos, Rocky Linux, Und Almalinux.
Anforderungen
Ein funktionierendes Linux -Betriebssystem mit minimaler Installation:
- Installation von Rhel Linux
- Installation von CentOS Linux
- Installation von Rocky Linux
- Installation von Almalinux
Schritt 1: Selinux in den zulässigen Modus einstellen
Wir werden mit dem Konfigurieren beginnen Selinux und es zulässt. Aber bevor wir dies tun, aktualisieren wir die Systempakete wie folgt:
$ sudo dnf update
Zu setzen Selinux Führen Sie den Befehl aus: Führen Sie den Befehl aus:
$ sudo sed -i 's/^selinux =.*/Selinux = befreit/g '/etc/selinux/config
Damit dies wirksam wird, starten Sie Ihren Server neu.
$ sudo Neustart
Und bestätigen Sie den Status von Selinux.
$ GetenforceÜberprüfen Sie den Selinux -Modus
Schritt 2: Installieren Sie das Epel -Repository
Epel ist ein Repository aus dem Fedora -Projekt Das liefert eine Reihe hochwertiger Pakete für Redhat Enterprise Linux und andere rhelbasierte Verteilungen.
$ sudo yum install https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Keinarch.U / min oder $ sudo yum install epel-releaseInstallieren Sie das Epel -Repository
Schritt 3: Fügen Sie die Kernelparameter hinzu
Bevor wir installieren LXD, Einige zusätzliche Parameter sind erforderlich. Wechseln Sie daher zum Root -Benutzer:
$ su -
Und fügen Sie die Parameter wie folgt hinzu.
$ grubby -args = "user_namespace.enable = 1 "-update-kernel =" $ (grubby-Default-Kernel) "$ grubby-args =" Namespace.univr_enable = 1 "-update-kernel =" $ (grubby-Default-Kernel) "$ echo" Benutzer.max_user_namespaces = 3883 "| sudo tee -a /etc /sysctl.D/99-Userns.ConfFügen Sie Linux -Kernel -Parameter hinzu
Sobald die Parameter vorhanden sind, fahren Sie fort und aktivieren Sie SNAP.
Schritt 4: Installieren und aktivieren Sie SNAP
Die einfachste Art zu installieren LXD An Rhel 8 ist es als installieren als Schnappnahme Paket. Aber zuerst, lassen Sie uns installieren Schnappnahme folgendermaßen.
$ sudo dnf installieren snapd
Dies wird installieren Snapd Daemon oder Service neben anderen Python -Abhängigkeiten wie gezeigt.
Installieren Sie Snap in LinuxFahren Sie mit installiertem SNAP fort und aktivieren Sie die Haupt Schnappnahme Kommunikationsbuchse.
$ sudo systemctl aktivieren -jetzt snapd.Steckdose
Aktivieren Sie außerdem die klassische Unterstützung, indem Sie einen Symlink aus erstellen /var/lib/snapd/snap Zu /Snap.
$ sudo ln -s/var/lib/snapd/snap/snap
So aktualisieren Sie die Schnappnahme Pfade, starten Sie Ihr System neu.
$ sudo Neustart
Schritt 5: Installieren Sie den LXD -Container -Manager
Es gibt zwei Möglichkeiten der Installation LXD von einem Schnappnahme. Sie können die neueste Version von installieren LXD wie gezeigt.
$ sudo snap install -klassisches LXDInstallieren Sie LXD unter Linux
Alternativ können Sie den neuesten Stall installieren Lts Version wie folgt:
$ sudo snap install lxd -channel = 4.0/stabil
Ausführen können LXC Befehle ohne wechseln zum sudo user, fügen Sie den aktuell angemeldeten Benutzer zu der hinzu LXD Gruppe.
$ sudo usermod -Ag lxd $ user
Stellen Sie sicher, dass der Benutzer zum hinzugefügt wurde LXD Gruppe durch Auflisten aller Gruppen, zu denen der Benutzer gehört.
$ gruppen tecmintListen Sie Gruppen unter Linux auf
Als nächstes führen Sie die aus Newgrp Befehl wie folgt.
$ newgrp lxd
Der Befehl ändert die aktuelle Gruppen -ID während einer Anmeldesitzung. Es legt die aktuelle Gruppen -ID auf die benannte Gruppe fest LXD.
Schritt 6: Initialisierung der LXD -Umgebung
Bevor wir anfangen zu erstellen und zu verwalten LXD Behälter müssen die initialisieren LXD Umgebung durch Ausführen des Befehls.
$ lxc init
Was folgt, ist eine Reihe von Eingaben, mit denen Sie Ihre Umgebung einrichten können. Die Standardeinstellungen funktionieren gut, aber Sie können Ihre eigenen Vorlieben angeben.
Wir haben einen Aufbewahrungspool namens erstellt TEC-Pool mit dem LVM Option als Backend.
Initialisierung der LXD -UmgebungUm die zu überprüfen LXD Umgebung, die Sie gerade konfiguriert haben, gibt es eine Reihe von Befehlen, die Sie verwenden können. Zum Beispiel, um das Standard -LXD -Profil auszuführen: Ausführende LXD -Profil:
$ lxc Profil anzeigen StandardeinstellungListen Sie LXD -Profile auf
Um die Netzwerkadapter und die anzuzeigen IPv4 Und IPv6 Adressen, rennen:
$ LXC -NetzwerklisteListen Sie LXD -Netzwerkadapter auf
Sie können es weiter einschränken und feinere Informationen über die anzeigen LXDBR0 Schnittstelle wie folgt.
$ lxc network show lxdbr0Listen Sie LXD -Netzwerkinformationen auf
Sie können auch den Speicherpool überprüfen.
$ LXC SpeicherlisteListen Sie den LXD -Speicherpool auf
Sie können ferner komplizierte Details zum Speicherpool erhalten.
$ lxc speicher show tec-poolListen Sie LXD -Speicherpool -Informationen auf
Laufen auflisten LXC Container, den Befehl ausführen:
$ lxcliste
Im Moment haben wir noch keine laufenden Container. Sie erhalten also eine leere Tabelle nur mit den Spaltenbezeichnungen.
Listen Sie LXC aus, die Container ausführenSchritt 7: Auflistung vorgebauter LXC -Containerbilder
So wie Docker, Die LXC Die Plattform bietet ein Repository von vorgefertigten Bildern, aus denen Sie Container erstellen können. Führen Sie den Befehl aus:
$ lxc Bildliste Bilder:
Dies bevölkert eine große Liste von Containerbildern und virtuellen Maschinen für alle Betriebssysteme. Verwenden Sie die Syntax, um sich auf eine bestimmte Linux -Verteilung einzugrenzen:
$ lxc Bildliste Bilder: Grep -i OS -Type
Zum Beispiel, um nach verfügbaren Bildern zu suchen Rocky Linux, Führen Sie den Befehl aus:
$ lxc Bildliste Bilder: grep -i rockyListen Sie LXC -Containerbilder auf
Wenn Sie suchen Debian Bilder, führen Sie den Befehl aus:
$ lxc bildlistbilder: grep -i debianListen Sie LXC Debian Image auf
Schritt 8: Starten von LXC -Containern
Starten LXC Behälter verwenden Sie die Syntax:
$ lxc starten Bilder: Distro/Version/Arch Container-name-hier
Hier starten wir 2 Container: tec-container1 aus Debian 10 Und tec-container2 aus Rocky Linux 8.
$ lxc starten Bilder: debian/10/amd64 tec-container1 $ lxc starten bilder: rockylinux/8/amd64 tec-container2Starten Sie LXC -Container
Um die aufzulisten LXC Container führen Sie den Befehl aus:
$ lxcliste
Die Ausgabe zeigt eine Vielzahl von Informationen über die Container an. Dies schließt den Namen der Container, den Status - ob ausgeführt oder gestoppt - IPv4- und IPv6.
Listen Sie LXC -Container aufUm nur Container aufzulisten, führen Sie den Befehl aus:
$ LXC LISTE | Grep -I ich renne
Ebenso für gestoppte Container führen Sie aus:
$ LXC LISTE | Grep -ich blieb stehenLISTE DURCH LXC -Container auflisten
Sie können die Informationen und Metriken eines Containers wie ausgeführte Prozesse, die CPU- und Speicherauslastung und die Bandbreite untersuchen, um einige mit dem Befehl zu erwähnen:
$ lxc Info tec-container1Listen Sie LXC -Containerinformationen auf
Schritt 9: Zugriff auf einen LXC -Container erhalten
Mit der Syntax können Sie einen Bash -Zugriff auf einen Container erhalten:
$ lxc Exec-Container-Namensname der Schale
Zu Zugang zu Shell zu erhalten tec-container1, Wir werden den Befehl ausführen:
$ lxc Exec TEC-Container1 Bash
Sobald Sie Shell Access gewonnen haben, können Sie mit dem Container als Root -Benutzer mit dem Container interagieren, indem Sie gemeinsame Shell -Befehle ausführen, einschließlich der Aktualisierung des Systems wie gezeigt:
$ APT UpdateGain LXC Container Shell Access
Um aus dem Container zu beenden, führen Sie den Befehl aus:
$ Exit
Alternativ können Sie die Befehle direkt im Container ausführen, ohne die Shell mit dem folgenden Format zugreifen zu können:
$ lxc exec Container-name Befehl
Sie können beispielsweise die folgenden Befehle ausführen, mit denen die Paketlisten aktualisiert werden, die Version des Betriebssystems auf dem Debian -Container aktivieren und das Datum überprüfen.
$ lxc Exec TEC-Container1 APT Update $ lxc Exec TEC-Container1 CAT /etc /debian_version $ lxc execte tec-container1 DatumFühren Sie Befehle in LXC -Container aus
Schritt 10: Ziehen / drücken Sie eine Datei (n) in einen LXC -Container
Eine weitere Operation, die Sie durchführen können, besteht darin, Dateien auf und vom Container zu übertragen. Um dies zu demonstrieren, werden wir ein neues Verzeichnis in der erstellen LXD Container und navigieren Sie hinein.
# MKDIR -Daten && CD -Daten
Als nächstes erstellen wir eine Beispieldatei und fügen einige Daten hinzu. Dazu erstellen wir eine Beispieldatei mit Vim Editor
# vim Datei1.txt
Als nächstes geben wir einen Beispieltext ein und speichern die Datei.
Hallo Welt, Willkommen bei LXD -Containern.
Um die Datei aus dem Container zum lokalen Hostsystem zu ziehen, werden wir die Syntax verwenden:
$ lxc Datei Pull Container-name/path/to/file /path/to/local/dest
In diesem Fall wird der Befehl sein:
$ LXC-Datei Pull tec-container2/root/data/file1.txt /home /tecmintZiehen Sie Dateien an den LXC -Container
Um eine Datei aus dem lokalen Verzeichnis in den Container zu drücken oder zu kopieren, verwenden Sie die Syntax:
$ LXC-Datei drücken /path/to/file container-nane/path/to/dest/dir/
In diesem Fall haben wir eine Beispieldatei im Home -Verzeichnis namens Datei2.txt kopiert an die /root/data/ Weg in der tec-container2 Container.
$ LXC -Datei Push/Home/Tecmint/Datei2.txt tec-container2/root/data/
Um die Existenz der Datei im Container zu bestätigen, werden wir ausführen:
$ lxc Exec TEC-Container2 LS /Root /DatenDrücken Sie Dateien in den LXC -Container
Schritt 11: Stop / Start / Neustart und löschen Sie LXC -Container
Mit dem LXC Befehlszeilen-Dienstprogramm Sie können Containerverwaltungsaufgaben wie Stoppen, Starten, Neustarten und Löschen von Containern ausführen.
Um ein zu stoppen LXC Container verwenden Sie die Syntax:
$ lxc Stop Container-Namen
Zum Beispiel zum Stoppen tec-container1, Wir werden den Befehl ausführen:
$ lxc stop tec-container1Stoppen Sie den LXC -Container
Um die zu starten LXC Container verwenden Sie die Syntax:
$ lxc starten container name
Zum Beispiel zum Starten tec-container1, Wir werden ausführen:
$ lxc starten tec-container1Starten Sie den LXC -Container
Beide neu zu starten LXC Container, wir werden den Befehl ausführen:
$ lxc restart tec-container1 $ lxc restart tec-container2 neu startenStarten Sie LXC -Behälter neu
Zu löschen und LXC Behälter müssen Sie zuerst den Behälter stoppen und danach löschen. Zum Löschen werden wir beispielsweise die Befehle ausführen:
$ lxc stop tec-container1 $ lxc löschen tec-container1
Alternativ können Sie diese beiden Befehle wie gezeigt kombinieren.
$ lxc stop tec-container1 && lxc löschen tec-container1 löschenLöschen Sie LXC -Behälter
Schritt 12: Hilfe bei den Befehlszeilenoptionen LXC erhalten
Um Hilfe bei anderen Befehlsoptionen zu erhalten, die von bereitgestellt wurden, LXC, Führen Sie einfach den Befehl aus:
$ LXC -HELP- oder $ LXC -Befehl -HELP E.G $ LXC -Datei -HELPLXC -Containerhilfe
Abschluss
Das war ein tiefer Tauchgang in LXD Container und wie Sie sie mit dem erstellen und verwalten können LXC Befehlszeilen-Dienstprogramm-Tool. Wir vertrauen darauf, dass Sie diesen Leitfaden hilfreich gefunden haben.
- « 30 nützliche Linux -Befehle für Systemadministratoren
- 10 WGet (Linux -Datei -Downloader) Befehlsbeispiele unter Linux »