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 =