Jak zainstalować Puppet Master and Agent w systemach opartych na RHEL

Jak zainstalować Puppet Master and Agent w systemach opartych na RHEL

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:

$ hostnamectl 
Sprawdź 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 /hosts 
Dodaj 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 -Release 
Sprawdź 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 -y 
Zainstaluj 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 makeCache 
Aktualizuje 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 repolist 
Zobacz 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 Linux

Aby 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 Puppet

Krok 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 Master

Zapisz 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).

Skonfiguruj alokacja pamięci JVM

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 Puppet

Krok 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 Puppet 
Sprawdź 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 Puppetlabs 
Potwierdź 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 Puppet

Moż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 --all 
Sprawdź 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 Puppet

Udać 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 List 
Wymień 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.com 
Podpisz certyfikaty na serwerze Puppet

Na koniec wróć do węzła klienta i podpisz certyfikat.

$ sudo/opt/puppetlabs/bin/marionge agent -t 
Połą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.