Mistrz marionetek

W Puppet architektura serwera klienta Puppet master jest uważana za organ kontrolujący całą konfigurację. Mistrz marionetek działa jako serwer w konfiguracji i kontroluje wszystkie działania na wszystkich węzłach.

Na każdym serwerze, który musi działać jako mistrz Puppet, powinno być uruchomione oprogramowanie serwera Puppet. To oprogramowanie serwera jest kluczowym elementem kontrolowania wszystkich działań na węzłach. W tej konfiguracji kluczową kwestią do zapamiętania jest dostęp superużytkownika do wszystkich maszyn, z których będzie się korzystać podczas konfiguracji. Oto kroki, aby skonfigurować mistrza lalek.

Wymagania wstępne

Private Network DNS- Należy skonfigurować do przodu i do tyłu, gdzie każdy serwer powinien mieć unikalną nazwę hosta. Jeśli nie ma skonfigurowanego DNS, to do komunikacji z infrastrukturą można wykorzystać prywatną sieć.

Firewall Open Port- Master Puppet powinien być otwarty na określonym porcie, aby mógł nasłuchiwać żądań przychodzących na określonym porcie. Możemy użyć dowolnego portu, który jest otwarty w zaporze.

Tworzenie serwera Puppet Master

Mistrz marionetek, który tworzymy, będzie na maszynie CentOS 7 × 64, używając Puppet jako nazwy hosta. Minimalna konfiguracja systemu do stworzenia Puppet master to dwa rdzenie procesora i 1 GB pamięci. Konfiguracja może mieć również większy rozmiar w zależności od liczby węzłów, którymi będziemy zarządzać z tym serwerem. W infrastrukturze jest większy niż jest skonfigurowany przy użyciu 2 GB RAM.

Nazwa hosta Rola Prywatne FQDN
Brcleprod001 Mistrz marionetek bnrcleprod001.brcl.com

Następnie należy wygenerować certyfikat Puppet master SSL, a nazwa maszyny master zostanie skopiowana do pliku konfiguracyjnego wszystkich węzłów.

Instalowanie NTP

Ponieważ Puppet Master jest centralnym autorytetem dla węzłów agentów w dowolnej konfiguracji, jednym z głównych obowiązków mistrza Puppet jest utrzymanie dokładnego czasu systemowego, aby uniknąć potencjalnych problemów z konfiguracją, które mogą wystąpić, gdy wydaje certyfikaty agentów do węzłów.

W przypadku wystąpienia konfliktu czasu certyfikaty mogą wydawać się wygasłe, jeśli występują rozbieżności czasowe między serwerem głównym a węzłem. Protokół czasu sieciowego jest jednym z kluczowych mechanizmów pozwalających uniknąć tego rodzaju problemów.

Lista dostępnych stref czasowych

$ timedatectl list-timezones

Powyższe polecenie zapewni całą listę dostępnych stref czasowych. Zapewni regionom dostępność stref czasowych.

Do ustawienia wymaganej strefy czasowej na komputerze można użyć następującego polecenia.

$ sudo timedatectl set-timezone India/Delhi

Zainstaluj NTP na serwerze Puppet za pomocą narzędzia yum na maszynie CentOS.

$ sudo yum -y install ntp

Synchronizuj NTP z czasem systemowym, który ustawiliśmy w powyższych poleceniach.

$ sudo ntpdate pool.ntp.org

W powszechnej praktyce będziemy aktualizować konfigurację NTP, aby korzystała ze wspólnych pul, które są dostępne bliżej centrów danych maszyn. W tym celu musimy edytować plik ntp.conf pod/etc.

$ sudo vi /etc/ntp.conf

Dodaj serwer czasu z dostępnych stref czasowych puli NTP. Oto jak wygląda plik ntp.conf.

brcleprod001.brcl.pool.ntp.org 
brcleprod002.brcl.pool.ntp.org 
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org

Zapisz konfigurację. Uruchom serwer i włącz demona.

$ sudo systemctl restart ntpd 
$ sudo systemctl enable ntpd

Skonfiguruj oprogramowanie Puppet Server

Oprogramowanie serwera Puppet to oprogramowanie, które działa na maszynie głównej Puppet. Jest to maszyna, która przekazuje konfiguracje do innych maszyn, na których działa oprogramowanie agenta Puppet.

Włącz oficjalne repozytorium kolekcji Puppet labs za pomocą następującego polecenia.

$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm

Zainstaluj pakiet puppetserver.

$ sudo yum -y install puppetserver

Skonfiguruj alokację pamięci na serwerze Puppet

Jak omówiliśmy, domyślnie serwer Puppet jest konfigurowany na komputerze z 2 GB pamięci RAM. Można dostosować konfigurację zgodnie z wolną pamięcią dostępną na komputerze i liczbą węzłów, którymi będzie zarządzał serwer.

Edytuj konfigurację serwera marionetek w trybie vi

$ sudo vi /etc/sysconfig/puppetserver  
Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation. 
We will allocate 3GB of space  
JAVA_ARGS="-Xms3g -Xmx3g"

Po zakończeniu zapisz i wyjdź z trybu edycji.

Po zakończeniu wszystkich powyższych ustawień jesteśmy gotowi do uruchomienia serwera Puppet na maszynie głównej za pomocą następującego polecenia.

$ sudo systemctl start puppetserver

Następnie zrobimy konfigurację tak, aby serwer marionetek uruchamiał się po każdym uruchomieniu serwera głównego.

$ sudo systemctl enable puppetserver

Sekcja główna Puppet.conf

[master] 
autosign = $confdir/autosign.conf { mode = 664 } 
reports = foreman 
external_nodes = /etc/puppet/node.rb 
node_terminus = exec 
ca = true 
ssldir = /var/lib/puppet/ssl 
certname = sat6.example.com 
strict_variables = false 
manifest = 
/etc/puppet/environments/$environment/manifests/site.pp 
modulepath = /etc/puppet/environments/$environment/modules 
config_version =