Zainstaluj LXC (Linux Conteners) w Rhel, Rocky i Almalinux

- 4488
- 635
- Roland Sokół
Lxd jest opisywany jako kontener nowej generacji i menedżer maszyn wirtualnych, który oferuje wciąganie systemów Linux działających wewnątrz kontenerów lub jako maszyny wirtualne.
Zapewnia obrazy dla nadmiernej liczby dystrybucji Linux z obsługą szerokiego wyboru zaplecza pamięci i typów sieci. Zapewnia również opcję instalacji obrazów na poszczególnym komputerze/laptopie, a nawet w instancji w chmurze.
Lxd umożliwia zarządzanie kontenerami i maszynami wirtualnymi przy użyciu trzech sposobów. Możesz wykorzystać Klient LXC lub narzędzie wiersza poleceń, interfejs API REST, a nawet integracji stron trzecich.
Funkcje LXD
Znaczny Lxd Dodatki zawarte:
- LXD jest oparty na obrazach z obrazami dla szerokiego wyboru dystrybucji Linux.
- Jest zbudowany z bezpieczeństwem jako najwyższy priorytet.
- Zapewnia API REST i narzędzie wiersza polecenia LXC do interakcji z kontenerami.
- Zapewnia obsługę szerokiej gamy zaplecza magazynowego, woluminów pamięci i pul pamięci.
- Zarządzanie siecią odbywa się poprzez tworzenie sieci mostowych i tuneli między hostem.
- Zaawansowana kontrola zasobów, takich jak CPU, RAM, wykorzystanie dysku, blokowe we/wy i zasoby jądra.
- Elastyczne i skalowalne - możesz wdrażać pojemniki na komputerze i skonfigurować klaster, który może agregować tysiące pojemników na różnych węzłach.
Co to jest LXC?
Nie mylić z LXC Narzędzie klienta wiersza poleceń dostarczone przez Lxd, LXC (Pojemnik Linux) to popularna technologia wirtualizacji na poziomie systemu operacyjnego, która wykorzystuje potężny interfejs API i inne narzędzia, aby umożliwić użytkownikom płynne tworzenie i zarządzanie pojemnikami i maszynami wirtualnymi w jednym hoście. Zawiera szablony, język narzędzi i powiązania biblioteczne.
Funkcje LXC
LXC Wykorzystuje następujące funkcje jądra do obsługi procesów:
- Przestrzenie nazw jądra: PID, Mount, UTS Network i User.
- Cgroups (grupy kontrolne).
- Chroots - za pomocą Pivot_root.
- Zasady SECComp.
- Profile Selinux i Apparmor.
LinuxContainers.Org to projekt parasolowy stojący za jednym Lxd I LXC. Jego celem jest oferowanie platformy neutralnej dystrybucji i dostawcy dla technologii kontenerów Linux.
Dzięki temu wprowadzeniu z drogi zademonstrujemy, jak tworzyć i zarządzać LXC kontenery na rozkładach Linux opartych na RHEL, takie jak Centos, Rocky Linux, I Almalinux.
Wymagania
Działający system operacyjny Linux z minimalną instalacją:
- Instalacja Rhel Linux
- Instalacja Centos Linux
- Instalacja Rocky Linux
- Instalacja Almalinux
Krok 1: Ustaw SELINUX na tryb dopuszczalny
Od samego początku zaczniemy od konfiguracji Selinux i ustawienie go do dopuszczalnego. Ale zanim to zrobimy, zaktualizujmy pakiety systemowe w następujący sposób:
Aktualizacja $ sudo dnf
Ustawić Selinux Aby dopuścić, wykonaj polecenie:
$ sudo sed -i 's/^selinux =.*/Selinux = permissive/g '/etc/selinux/config
Aby to się stało, ponownie uruchom swój serwer.
$ sudo restart
I potwierdź status Selinux.
$ getenforce

Krok 2: Zainstaluj repozytorium EPEL
Epel jest repozytorium z Projekt Fedora To zapewnia zestaw wysokiej jakości pakietów dla Redhat Enterprise Linux oraz inne dystrybucje oparte na RHEL.
$ sudo yum instaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-8.Noarch.RPM lub $ sudo yum instaluj epel-uwalnianie

Krok 3: Dodaj parametry jądra
Przed zainstalowaniem Lxd, Wymagane są dodatkowe parametry. Dlatego przełącz na użytkownika root:
$ su -
I dodaj parametry w następujący sposób.
$ Grubby --args = "user_namespace.enable = 1 "--update-kernel =" $ (Grubby--default-kernel) "$ Grubby --args =".Unvriv_enable = 1 "--update-kernel =" $ (Grubby--Default-Ekernel) użytkownik „$ echo”.max_user_namespaces = 3883 "| sudo tee -a /etc /sysctl.D/99-Userns.conf

Po wprowadzeniu parametrów kontynuuj i włącz Snap.
Krok 4: Zainstaluj i włącz Snap
Najprostszy sposób instalacji Lxd NA RHEL 8 ma zainstalować go jako pstryknąć pakiet. Ale najpierw zainstalujmy pstryknąć następująco.
$ sudo dnf instaluj snapd
To zainstaluje Snapd demon lub usługa obok innych zależności Pythona, jak pokazano.

Z zainstalowanym Snap postępuj i włącz główną pstryknąć Gniazdo komunikacyjne.
$ sudo systemctl enable -teraz snapd.gniazdo elektryczne
Ponadto włącz klasyczne wsparcie, tworząc symlinki z /var/lib/snapd/snap Do /pstryknąć.
$ sudo ln -s/var/lib/snapd/snap/snap
Aby zaktualizować pstryknąć ścieżki, uruchom ponownie system.
$ sudo restart
Krok 5: Zainstaluj menedżer kontenerów LXD
Istnieją dwa sposoby instalacji Lxd od pstryknąć. Możesz zainstalować najnowszą wersję Lxd jak pokazano.
$ sudo snap instalacja -Klasyczna LXD

Alternatywnie możesz zainstalować najnowszą stabilną LTS Wersja w następujący sposób:
$ sudo snap instaluj lxd -channel = 4.0/stabilny
Aby móc wykonać LXC Polecenia bez przełączania na użytkownika Sudo, dodaj aktualnie zalogowany użytkownik do lxd Grupa.
$ sudo usermod -ag lxd $ użytkownik
Sprawdź, czy użytkownik został dodany do lxd grupa, wymieniając wszystkie grupy, do których należy użytkownik.
$ grupy Tecmint

Następnie uruchom NEWGRP polecenie w następujący sposób.
$ newgrp lxd
Polecenie zmienia bieżący identyfikator grupy podczas sesji logowania. Ustawia bieżący identyfikator grupy na nazwaną grupę lxd.
Krok 6: Inicjowanie środowiska LXD
Zanim zaczniemy tworzyć i zarządzać Lxd pojemniki, musimy zainicjować Lxd Środowisko poprzez uruchomienie polecenia.
$ lxc init
Poniżej znajduje się seria monitów, które pozwoli ci skonfigurować środowisko. Domyślne będą działać dobrze, ale możesz określić własne preferencje.
Stworzyliśmy pulę magazynową o nazwie TEC-POOL z LVM opcja jako backend.

Aby zweryfikować Lxd środowisko, które właśnie skonfigurowałeś, istnieje wiele poleceń, których możesz użyć. Na przykład, aby wyświetlić domyślny profil LXD Wykonaj:
$ LXC Profil pokaż domyślnie

Aby wyświetlić adaptery sieciowe i IPv4 I IPv6 adresy, uruchom:
Lista sieciowa $ LXC

Możesz go dalej zawęzić i wyświetlić drobniejsze informacje o LXDBR0 interfejs w następujący sposób.
$ LXC Network show lxdbr0

Możesz także zweryfikować pulę pamięci.
Lista pamięci $ LXC

Możesz uzyskać skomplikowane szczegóły dotyczące puli pamięci.
$ LXC STOW TEC-POOL

Aby wymienić działanie LXC kontenery, uruchom polecenie:
Lista $ LXC
W tej chwili nie mamy jeszcze żadnych działających pojemników. Więc otrzymasz pusty stół tylko z etykietami kolumnowymi.

Krok 7: Wymień predytowane obrazy kontenera LXC
Tak jak Doker, LXC Platforma zapewnia repozytorium gotowych obrazów, z których można tworzyć pojemniki. Aby wymienić wszystkie wstępnie zbudowane obrazy dla wszystkich systemów operacyjnych, w tym maszyn wirtualnych, uruchom polecenie:
$ LXC List obrazów: Obrazy:
To zapełnia ogromną listę obrazów kontenerowych i maszyn wirtualnych dla wszystkich systemów operacyjnych. Aby zawęzić się do określonego rozkładu Linuksa, użyj składni:
$ LXC List obrazów: Grep -i OS -typ
Na przykład, aby wyszukać dostępne obrazy Rocky Linux, Uruchom polecenie:
$ LXC List obrazów: Grep -i Rocky

Jeśli szukasz Debian Obrazy, uruchom polecenie:
$ lxc lista obrazów Obrazy: grep -i debian

Krok 8: Uruchamianie kontenerów LXC
Wystrzelić LXC pojemniki, użyj składni:
$ LXC Uruchom obrazy: distro/wersja/arch Container-Name-Here
Tutaj uruchomimy 2 kontenery: TEC-CONTAINER1 z Debian 10 I TEC-CONTAINER2 z Rocky Linux 8.
$ LXC Uruchomienie obrazów: Debian/10/AMD64 TEC-CONTAINER1 $ LXC Uruchomienie: Rockylinux/8/AMD64 TEC-CONTAINER2

Aby wymienić LXC kontenery, wykonaj polecenie:
Lista $ LXC
Wyjście wyświetla wiele informacji o kontenerach. Obejmuje to nazwę kontenerów, stanu - uruchomionego lub zatrzymanego - adresów IPv4 i IPv6, typu (czy to pojemnik lub maszynę wirtualną) oraz szereg migawek.

Aby wymienić tylko uruchomione kontenery, uruchom polecenie:
Lista $ LXC | Grep -i bieganie
Podobnie, w przypadku zatrzymanych kontenerów, wykonaj:
Lista $ LXC | Grep -i zatrzymało się

Możesz zbadać informacje i wskaźniki kontenera, takie jak uruchamianie procesów, wykorzystanie procesora i pamięci oraz przepustowość, aby wspomnieć o kilku korzystających z polecenia:
INFO $ LXC TEC-CONTAINER1

Krok 9: Uzyskaj dostęp do pojemnika LXC
Możesz uzyskać dostęp do bash do kontenera za pomocą składni:
$ LXC Exec-Container-Name Name-of-the-Shell
Aby uzyskać dostęp do powłoki TEC-CONTAINER1, Prowadzimy polecenie:
$ LXC Exec Tec-Container1 Bash
Po uzyskaniu dostępu do powłoki możesz rozpocząć interakcję z kontenerem jako użytkownik root, uruchamiając wspólne polecenia powłoki, w tym aktualizację systemu, jak pokazano:
Aktualizacja $ apt

Aby wyjść z kontenera, uruchom polecenie:
$ exit
Alternatywnie możesz wykonać polecenia bezpośrednio na kontenerze bez dostępu do powłoki za pomocą następującego formatu:
$ LXC EXED Container-Name
Na przykład możesz uruchomić następujące polecenia, które aktualizują listy pakietów, sprawdź wersję systemu operacyjnego uruchomionego na kontenerze Debian i sprawdź datę.
$ LXC EXEC TEC-CONTAINER1 APT APTION $ LXC EXEC TEC-CONTAINER1 CAT /ETC /Debian_version $ LXC Exec Tec-Container1 Data

Krok 10: Przenieś / pchnij plik (y) do kontenera LXC
Kolejną operacją, którą możesz przeprowadzić, jest przesyłanie plików do iz kontenera. Aby to zademonstrować, stworzymy nowy katalog w Lxd pojemnik i przejdź do niego.
# Mkdir Data && CD Data
Następnie utworzymy przykładowy plik i dodamy kilka danych. Aby to zrobić, utworzymy przykładowy plik z krzepa redaktor
# vim plik 1.tekst
Następnie wpiszmy przykładowy tekst i zapiszemy plik.
Witaj świat, witaj w kontenerach LXD.
Aby wyciągnąć plik z kontenera do lokalnego systemu hosta, użyjemy składni:
$ LXC Plik Pull Container-Name/ścieżka/do/file /ścieżka/to/local/dest
W takim przypadku poleceniem będzie:
Plik $ LXC Pull Tec-Container2/root/Data/File1.txt /home /tecmint

Aby popchnąć lub skopiować plik z katalogu lokalnego do kontenera, użyj składni:
$ LXC PLIK PUH /PATH/To/File Container-Nane/ścieżka/do/dest/dir/
W takim przypadku mamy przykładowy plik w katalogu domowym o nazwie plik2.tekst skopiowane do /root/data/ ścieżka w TEC-CONTAINER2 pojemnik.
$ LXC PLIK PUSH/HOME/TECMINT/FILE2.TXT TEC-CONTAINER2/root/data/
Aby potwierdzić istnienie pliku w kontenerze, uruchomimy:
$ LXC EXEC TEC-CONTAINER2 LS /root /Data

Krok 11: Zatrzymaj / start / restart i usuń pojemniki LXC
Z LXC Narzędzie wiersza polecenia.
Zatrzymać LXC pojemnik, użyj składni:
$ lxc Stop-Contener-Nazwa
Na przykład, aby zatrzymać TEC-CONTAINER1, Prowadzimy polecenie:
$ LXC Stop Tec-Container1

Rozpocząć LXC pojemnik, użyj składni:
$ lxc start pojemnik-nazwę
Na przykład, aby zacząć TEC-CONTAINER1, Wykonamy:
$ lxc start tec-container1

Aby zrestartować oba LXC Kontenery, uruchomimy polecenie:
$ lxc restart tec-container1 $ lxc restart tec-container2

Usunąć LXC pojemnik, musisz najpierw zatrzymać pojemnik, a następnie usunąć go. Na przykład, aby usunąć, uruchomimy polecenia:
$ LXC Stop Tec-Container1 $ LXC Usuń TEC-CONTAINER1
Alternatywnie możesz połączyć te dwa polecenia, jak pokazano.
$ LXC Stop Tec-Container1 && Lxc Usuń Tec-Container1

Krok 12: Uzyskaj pomoc w opcjach wiersza polecenia LXC
Aby uzyskać pomoc w innych opcjach poleceń dostarczonych przez LXC, Po prostu uruchom polecenie:
$ lxc - -help lub $ lxc polecenie - -help e.G $ LXC Plik -Help

Wniosek
To było głębokie nurkowanie Lxd kontenery oraz sposób, w jaki możesz ich tworzyć i zarządzać za pomocą LXC Narzędzie narzędziowe wiersza poleceń. Ufamy, że uznałeś ten przewodnik za pomocny.
- « 30 Przydatne polecenia Linux dla administratorów systemu
- 10 Przykłady poleceń 10 WGET (Linux Pliku) w Linux »