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

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

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 
Sprawdź tryb Selinux

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 
Zainstaluj repozytorium EPEL

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 
Dodaj parametry jądra Linux

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.

Zainstaluj Snap in Linux

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 
Zainstaluj LXD w Linux

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 
Lista grup w Linux

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.

Inicjowanie środowiska LXD

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 
Wypisz profile LXD

Aby wyświetlić adaptery sieciowe i IPv4 I IPv6 adresy, uruchom:

Lista sieciowa $ LXC 
Wypisz adaptery sieciowe LXD

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

$ LXC Network show lxdbr0 
List LXD Informacje o sieci

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

Lista pamięci $ LXC 
Lista puli pamięci LXD

Możesz uzyskać skomplikowane szczegóły dotyczące puli pamięci.

$ LXC STOW TEC-POOL 
Lista Informacje o puli pamięci LXD

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.

Lista LXC Uruchamianie kontenerów

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 
Wypisz obrazy kontenera LXC

Jeśli szukasz Debian Obrazy, uruchom polecenie:

$ lxc lista obrazów Obrazy: grep -i debian 
List LXC Debian Image

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 
Uruchom kontenery LXC

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.

Wypisz kontenery LXC

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ę 
Lista z kontenerami LXC

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 
Lista Informacje o kontenerze LXC

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 
Uzyskaj dostęp do kontenera LXC

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 
Uruchom polecenia w pojemniku LXC

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 
Pobieraj pliki do kontenera LXC

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 
Psuń pliki do kontenera LXC

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 
Zatrzymaj pojemnik LXC

Rozpocząć LXC pojemnik, użyj składni:

$ lxc start pojemnik-nazwę 

Na przykład, aby zacząć TEC-CONTAINER1, Wykonamy:

$ lxc start tec-container1 
Uruchom pojemnik LXC

Aby zrestartować oba LXC Kontenery, uruchomimy polecenie:

$ lxc restart tec-container1 $ lxc restart tec-container2 
Uruchom ponownie pojemniki LXC

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 
Usuń pojemniki LXC

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 
Pomoc pojemnika LXC
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.