Jak zainstalować Puppet Master and Agent w systemach opartych na RHEL
- 2075
- 60
- Seweryn Augustyniak
Opracowany przez Puppet Lans, Marionetka to narzędzie do zarządzania konfiguracją open source używane do automatyzacji i centralizacji konfiguracji infrastruktury, takiej jak serwery, takie jak Ansible I Szef kuchni. Pomaga proste wykonywanie powtarzających się zadań, które w przeciwnym razie byłyby uciążliwe i czasochłonne.
Puppet przyjmuje architekturę klient-serwer i obejmuje następujące istotne aspekty.
- Puppet Master/Server - Ten węzeł zawiera całą konfigurację wymaganą do zarządzania węzłami klientów, na których instalowany jest niewolnik marionetki.
- Slave Puppet - Są to zarządzane węzły klientów w twoim środowisku. Wszystkim niewolnikom zarządzają Puppet Master i mają zainstalowany i uruchomiony agent marionetkowy.
- Puppetdb - Jest to baza danych, która przechowuje wszystkie dane generowane przez Puppet.
W tym przewodniku pokażemy, jak zainstalować Mistrz lalek I Agent W rozkładach opartych na REL, takich jak Centos, Fedora, Rocky i Almalinux.
Konfiguracja środowiska laboratoryjnego
Węzeł główny marionetki z IP 139.144.20.170 - Rocky Linux 8 Puppet Slave z IP 45.79.206.178 - Ubuntu 22.04
Spis treści
1- Konfiguracja środowiska laboratoryjnego
- Krok 1: Skonfiguruj nazwę hosta w Puppet Master and Slave
- Krok 2: Dodaj repozytorium marionetek na Puppet Master (Rocky Linux)
- Krok 3: Zainstaluj Puppet na Puppet Master (Rocky Linux)
- Krok 4: Skonfiguruj Puppet Master Server (Rocky Linux)
- Krok 5: Skonfiguruj alokacja pamięci JVM (opcjonalnie)
- Krok 6: Uruchom i włącz serwer Puppet
- Krok 7: Rozpocznij i włącz agent marionetki
- Krok 8: Zezwalaj na marionetkę w zaporze ogniowej
- Krok 9: Dodaj folder binarny marionetki do $ ścieżka
- Krok 10: Sprawdź serwer Puppet za pomocą klienta Puppet
- Krok 11: Zainstaluj i skonfiguruj agenta marionetki na Slave
- Krok 12: Podłącz agent marionetki do serwera marionetki
- Wniosek
Krok 1: Skonfiguruj nazwę hosta w Puppet Master and Slave
Aby zejść z ziemi, zaloguj się do systemu i zaktualizuj pakiety oprogramowania za pomocą polecenia DNF w następujący sposób.
$ sudo dnf aktualizacja -y
Następnie skonfiguruj nazwę hosta dla swoich węzłów, która będzie cenna po drodze podczas konfiguracji Marionetka w twoim systemie.
Dla Master Puppet
$ sudo hostnamectl set-hostname marionetka.Tecmint.com
Dla niewolnika Puppet
$ sudo hostnamekectl set-hostname-marca-agent
Potwierdź nową nazwę hosta za pomocą hostnamektl Komenda:
$ hostnamectlSprawdź nazwę hosta systemu Linux
Następnie zaktualizuj /etc/hosts Plik dla obu systemów z rekordami nazwy hosta i DNS, jak pokazano.
Przełącz na użytkownika root.
$ su -
Następnie zaktualizuj /etc/hosts Plik z adresem IP i nazwa hosta lub FQDN twojego systemu.
Dla Master Puppet
# echo "139.144.20.170 Puppetmaster.Tecmint.com ">> /etc /hostsDodaj nazwę hosta do pliku /etc /hosts
Dla niewolnika Puppet
# echo "45.79.206.178 Puppet-Agent ">> /etc /hosts
Po skonfigurowaniu rekordów hosta i DNS, kontynuuj następny krok.
Krok 2: Dodaj repozytorium marionetek na Puppet Master (Rocky Linux)
Żeby zainstalować Marionetka, Musimy dodać jego repozytorium do systemu. Aby to zrobić, uruchom następujące polecenie.
$ sudo dnf instaluj https: // yum.marionetka.Com/Puppet-Rease-EL-8.Noarch.RPM -y
Dodaj repozytorium Puppet na Rocky Linux [Puppet Master], aby potwierdzić, że repozytorium zostało pomyślnie dodane, uruchom polecenie RPM:
$ rpm -Qi Puppet -ReleaseSprawdź repozytorium Puppet
Ponadto upewnij się, że dodaj również repozytorium EPEL, jak pokazano.
$ sudo dnf instaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-8.Noarch.RPM -yZainstaluj repozytorium EPEL na Rocky Linux
Następnie włącz Powertools Repozytorium, które zapewnia narzędzia programistów i biblioteki. Repozytorium zapewnia również wiele pakietów, które są potrzebne jako zależności podczas instalowania innych aplikacji.
$ sudo dnf config-manager-Pow PowerTools z obsługą
Aby upewnić się, że pamięć podręczna jest w pełni aktualna, przy czym wszystkie metadane są na miejscu, zbuduj pamięć podręczną, jak pokazano.
$ sudo dnf makeCacheAktualizuje pamięć podręczna metadanych DNF
Krok 3: Zainstaluj Puppet na Puppet Master (Rocky Linux)
Przed zainstalowaniem Marionetka, Upewnij się, że wszystkie wymagane repozytoria zostały włączone w następujący sposób.
$ sudo dnf repolistZobacz repozytoria DNF
Następnie zainstaluj Serwer marionetki następująco.
$ sudo dnf instaluj PuppetServer -y
Polecenie instaluje mnóstwo pakietów, w tym Serwer Pepper I Agent, Java Openjdk, Lua, NSS i wiele innych. Poniżej znajduje się wyjście polecenia.
Zainstaluj serwer Puppet na Rocky LinuxAby potwierdzić, że Serwer Pepper został zainstalowany, uruchom polecenie:
$ rpm -Qi PuppetServer
Polecenie wydrukuje szczegółowe informacje, takie jak nazwa, wersja, wydanie, architektura i instalacja daty, aby wymienić kilka.
Potwierdź instalację serwera PuppetKrok 4: Skonfiguruj Puppet Master Server (Rocky Linux)
Raz Serwer marionetki jest zainstalowany, następnym krokiem jest jego skonfigurowanie. Dlatego uzyskaj dostęp do głównego pliku konfiguracyjnego dla marionetki, jak pokazano.
$ sudo vim/etc/marionetlabs/marionetka/marionetka.conf
Pod [serwer]
Sekcja Dodaj wpis DNS, jak pokazano.
DNS_ALT_NAMES = Puppetmaster.Tecmint.Com, Puppetmaster, PuppetServer
Ponadto dodaj [główny]
Sekcja w następujący sposób, gdzie Puppetmaster.Tecmint.com to fqdn lub nazwa hosta twojego serwera marionetki.
[Main] CertName = Puppetmaster.Tecmint.Com Server = Puppetmaster.Tecmint.Com Environment = Production Runinterval = 1h
Tak wygląda nasza konfiguracja.
Skonfiguruj serwer Puppet MasterZapisz zmiany i wyjdź z pliku konfiguracyjnego.
Krok 5: Skonfiguruj alokacja pamięci JVM (opcjonalnie)
Domyślnie, 2 GB z JAWA pamięć jest przydzielana Serwer Master Puppet. Jeśli system nie ma wystarczającej pamięci, możesz edytować plik konfiguracyjny serwera i przypisać niższą wartość, taką jak 1 GB.
Dlatego uzyskaj dostęp do pliku konfiguracyjnego.
$ sudo vim/etc/sysconfig/puppetserver
Znajdź te argumenty: -XMS2G -XMX2G
i zmień 2G Do 1G (oznacza 1 GB).
Zapisz zmiany i wyjdź z pliku konfiguracyjnego.
Krok 6: Uruchom i włącz serwer Puppet
Po dokonaniu wszystkich wymaganych zmian, rozpocznij Serwer marionetki usługa jak pokazano.
$ sudo systemctl start mariongeerver
Następnie włącz usługę rozpoczęcia czasu uruchamiania lub uruchamiania systemu.
$ sudo systemCtl włącz PuppetServer
Aby sprawdzić, czy serwer Puppet działa, wykonaj polecenie:
$ sudo systemCtl Status PuppetServer
Poniższe dane wyjściowe potwierdza, że serwer Puppet działa.
Sprawdź status serwera PuppetKrok 7: Rozpocznij i włącz agent marionetki
Instalacja Serwer marionetki Instaluje również agenta. Jednak agent nie zaczyna się automatycznie i musisz to zrobić ręcznie.
Aby uruchomić agenta marionetki, uruchom polecenie.
$ sudo systemctl start marionetka
Rozważ także umożliwienie agentowi rozpoczęcia u rozruchu.
$ sudo systemCtl Włącz Puppet
Teraz sprawdź, czy agent jest aktywny i działa, uruchamiając następujące polecenie.
$ sudo systemCtl Status PuppetSprawdź status agenta marionetki
Krok 8: Zezwalaj na marionetkę w zaporze ogniowej
Kolejną rzeczą, którą musisz rozważyć, jest umożliwienie usługi Puppet w całej zaporze, aby serwer mógł uzyskać dostęp do sieci.
Aby to zrobić, uruchom następujące polecenia.
$ sudo firewall-cmd --add-service = marionetmaster --Permanent $ sudo firewall-cmd-rela jest
Krok 9: Dodaj folder binarny marionetki do $ ścieżka
Binaria Puppet znajdują się w /Opt/Puppetlabs/Bin. W momencie pisania tego przewodnika katalog jest już umieszczony w $ Ścieżka.
Aby to potwierdzić, uruchom Printenv polecenie jak pokazano.
$ printenv | Grep PuppetlabsPotwierdź binarną ścieżkę marionetki
Możesz również sprawdzić, jak pokazano.
$ Która marionetka /Opt/PuppetLabs/Bin/Puppet
Jeśli z jakiegoś powodu Marionetka nie jest dodawany do $ Ścieżka, Przełącz na użytkownika root
$ su -
Następnie uruchom następujące polecenia, aby je dodać $ Ścieżka.
# Echo 'Eksport ścieżka = $ ścieżka:/opt/puppetlabs/bin' | tee -a ~/.bashrc # Źródło ~/.Bashrc
Krok 10: Sprawdź serwer Puppet za pomocą klienta Puppet
Aby potwierdzić, że Marionetka Serwer działa zgodnie z oczekiwaniami, uruchom polecenie:
$ sudo/opt/puppetlabs/bin/marionge agent -test - -ca_server = Puppetmaster.Tecmint.com
Następujące dane wyjściowe potwierdza, że wszystko wygląda dobrze.
Sprawdź serwer PuppetMożesz również osiągnąć to samo co użytkownik root, jak pokazano
# agent marionetki -t
Aby wyświetlić dostępne certyfikaty na Mistrz lalek węzeł, wykonaj następujące polecenie.
$ sudo/opt/puppetlabs/bin/puppeterver ca List --allSprawdź certyfikaty na serwerze Puppet
Do tej pory udało nam się zainstalować Serwer marionetki I Agent w węźle głównym. Jeśli tego szukałeś, to skończyłeś i odkurzasz.
Wspominaliśmy jednak, że Puppet działa w architekturze klient-serwer. W poniższym etapie zademonstrujemy, jak zainstalować i skonfigurować agenta marionetki w węźle klienta.
Krok 11: Zainstaluj i skonfiguruj agenta marionetki na Slave
W tej sekcji zainstalujemy Agent Puppet na Ubuntu Slave węzeł, a następnie ustalić komunikację między Mistrz Pepper węzeł i Klient.
Dla Ubuntu 22.04
$ wget https: // apt.Puppetlabs.Com/Puppet7-Rease-Jammy.Deb $ sudo dpkg -i marionet7-reasease-jammy.Deb $ sudo apt aktualizacja $ sudo apt instal instaluj marionetek -agent -y
Dla Ubuntu 20.04
$ wget https: // apt.marionetka.Com/Puppet7-Rillease-Focal.Deb $ sudo dpkg -i marionetek.Deb $ sudo apt aktualizacja $ sudo apt instal instaluj marionetek -agent -y
Po zainstalowaniu uzyskaj dostęp do pliku konfiguracyjnego agenta.
$ sudo vim/etc/marionetlabs/marionetka/marionetka.conf
Dodaj następującą sekcję.
[Main] Server = Puppetmaster.Tecmint.com
Zapisz zmiany i wyjdź.
Aby zastosować zmiany, uruchom ponownie usługę agenta marionetki.
$ sudo systemctl restart marionetka $ sudo systemCtl Włącz marionetkę
Krok 12: Podłącz agent marionetki do serwera marionetki
Ostatnim krokiem jest ustanowienie połączenia między Serwer marionetki i agent zainstalowane w systemie klienta. Aby to zrobić, uzyskaj dostęp do węzła klienta i generuj certyfikaty dla Master Pepper, aby podpisać.
$ sudo/opt/puppetlabs/bin/marionge agent -t
Otrzymasz powiadomienie, że certyfikat nie został jeszcze podpisany.
Połącz się z serwerem i agentem PuppetUdać się do Mistrz Pepper węzeł i wymień certyfikaty, które mają zostać podpisane. Tutaj certyfikat jest wymieniony jako Agent Puppet.członkowie.Linode.com.
$ sudo/opt/puppetlabs/bin/puppeterver CA ListWymień certyfikaty na serwerze marionetek
Teraz podpisz certyfikat za pomocą następującego polecenia:
$ sudo/opt/puppetlabs/bin/puppetserver ca znak--certynowy agent.członkowie.Linode.comPodpisz certyfikaty na serwerze Puppet
Na koniec wróć do węzła klienta i podpisz certyfikat.
$ sudo/opt/puppetlabs/bin/marionge agent -tPołącz się z serwerem i agentem Puppet
Wniosek
To prowadzi nas do końca tego przewodnika. W tym artykule wykazaliśmy, jak zainstalować Mistrz lalek I Agent w systemach opartych na RHEL z wykorzystaniem Rocky Linux 8 Węzły w naszej konfiguracji.
- « Jak tworzyć formularze wypełnione role użytkowników w Dokumentach OnlyOffice
- Arpwatch - Monitor Ethernet Activity {adres IP i MAC} w Linux »