Puppet je open source nástroj pro správu konfigurace a rámec pro automatizaci serverů. Puppet může běžet na operačních systémech podobných Unixu i na systémech Microsoft Windows. Umožňuje vám spravovat a provádět administrativní úlohy a konfiguraci stovek systémů z jednoho hlavního serveru.
V tomto tutoriálu vám ukážu, jak nainstalovat Puppet na CentOS 7. Nainstaluji a nakonfiguruji server CentOS 7 jako „master“ loutky a druhý jako „agent“.
Předpoklady
- 2 servery CentOS 7
- 10.0.15.10 master.hakase.io 2 GB paměti
- 10.0.15.11 agent.hakase.io
- Oprávnění uživatele root
Co uděláme:
- Předinstalace loutky
- Instalace a konfigurace serveru Puppet
- Nainstalujte a nakonfigurujte Puppet Agent
- Ověřte konfiguraci loutkového agenta
- Vytvořte první loutkový manifest
Krok 1 – Předinstalace loutky
V tomto kroku provedeme některé úkoly včetně instalace a konfigurace na obou serverech loutkář a loutkový agent. Nakonfigurujeme soubor hostitele, synchronizujeme čas pomocí serveru NTP, zakážeme SELinux a přidáme do systému úložiště loutek.
- Konfigurace hostitelů
Připojte se k loutkovému mistrovi a agentovi pomocí vašeho uživatele root.
ssh [email protected]
ssh [email protected]
Nyní upravte hostitele pomocí editoru vim.
vim /etc/hosts
Přidejte následující konfiguraci na konec řádku.
10.0.15.10 master.hakase.io
10.0.15.11 agent.hakase.io
Uložte a ukončete.
Nyní otestujte pomocí příkazu ping.
ping master.hakase.io
ping agent.hakase.io
A ujistěte se, že máte IP adresu serveru 10.0.15.10 a 10.0.15.11.
- Konfigurace serveru NTP
Je velmi důležité udržovat synchronizovaný čas mezi hlavním serverem a serverem agenta.
Nainstalujte balíčky NTP na oba servery pomocí příkazu yum.
yum -y install ntp ntpdate
Po dokončení instalace vyberte požadovaný fond NTP spuštěním příkazu, jak je uvedeno níže.
sudo ntpdate 0.centos.pool.ntp.org
Nyní spusťte službu NTP a povolte její spuštění při každém spuštění systému.
sudo systemctl start ntpd
sudo systemctl enable ntpd
Instalace a konfigurace NTP byla dokončena.
- Zakázat SELinux
Upravte konfiguraci SELinux pomocí vim.
vim /etc/sysconfig/selinux
Změňte hodnotu SELINUX na 'disabled'.
SELINUX=disabled
Uložte a ukončete.
- Přidat úložiště loutek
Nyní přidejte loutkové úložiště do systému pomocí příkazu rpm níže.
rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm
Po dokončení restartujte oba servery.
reboot
Nyní jsme připraveni na instalaci a konfiguraci loutky.
Krok 2 – Instalace a konfigurace Puppetserver
V tomto kroku nainstalujeme loutkový server na server master.hakase.io. Nainstalujte puppetserver pomocí příkazu yum níže.
sudo yum -y install puppetserver
Po dokončení instalace musíme nakonfigurovat alokaci paměti pro loutkový server. Nastavíme maximální přidělení paměti pro loutkový server na 1 GB.
Upravte konfiguraci 'puppetserver' pomocí vim.
vim /etc/sysconfig/puppetserver
Nyní změňte řádek, jak je uvedeno níže.
JAVA_ARGS="-Xms1g -Xmx1g ...."
Uložte a ukončete.
Dále přejděte do konfiguračního adresáře loutky a upravte soubor 'puppet.conf'.
cd /etc/puppetlabs/puppet
vim puppet.conf
Přidejte následující konfiguraci.
[master]
dns_alt_names=master.hakase.io,puppet
[main]
certname = master.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h
Uložte a ukončete.
Nyní spusťte loutkový server a povolte jeho spuštění při každém spuštění.
systemctl start puppetserver
systemctl enable puppetserver
Instalace a konfigurace Puppetserver byla úspěšně dokončena.
Pokud ve svém systému používáte firewalld, přidejte port puppetserver do seznamu pomocí příkazu firewall-cmd níže.
firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload
Krok 3 – Instalace a konfigurace Puppet Agent
Nainstalujeme loutkového agenta na server 'agent.hakase.io'.
Nainstalujte loutkového agenta pomocí příkazu yum níže.
yum install -y puppet-agent
Po dokončení instalace přejděte do konfiguračního adresáře puppet a upravte soubor puppet.conf.
cd /etc/puppetlabs/puppet
vim puppet.conf
Vložte následující konfiguraci.
[main]
certname = agent.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h
Uložte a ukončete.
Dále zaregistrujeme loutkáře loutkáři.
Spusťte níže uvedený příkaz na shellu loutkového agenta.
/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Loutkový agent nyní běží na serveru a pokouší se zaregistrovat u loutkového mistra.
Nyní se vraťte do shellu loutkového mistra a spusťte níže uvedený příkaz.
/opt/puppetlabs/bin/puppet cert list
A obdržíte nevyřízenou žádost o podpis certifikátu (CSR) ze serveru loutkového agenta 'agent.hakase.io'.
Podepište certifikát pomocí příkazu níže.
/opt/puppetlabs/bin/puppet cert sign agent.hakase.io
A výsledek by měl být podobný následujícímu:
Loutkový agent nyní běží v systému a certifikát pro agenta byl podepsán mistrem loutky.
Krok 4 – Ověřte konfiguraci agenta Puppet
Poté, co mistr loutky podepíše soubor certifikátu pro agenta, spusťte níže uvedený příkaz na agentovi loutky, abyste ověřili konfiguraci.
/opt/puppetlabs/bin/puppet agent --test
A dostanete výsledek, jak je ukázáno níže.
Agent Puppet vytáhl konfiguraci z loutkového mistra a bez chyby ji použil na server.
Krok 5 – Vytvořte první manifest
Instalace a konfigurace loutkového mistra a agenta jsou dokončeny. A pro tento krok vytvoříme jednoduchý manifest pro testování.
Vytvoříme manifest pro instalaci webového serveru Apache httpd.
Na hlavním serveru loutek přejděte do adresáře '/etc/puppetlabs/code/' a vytvořte nový soubor manifestu 'site.pp' pomocí vim.
cd /etc/puppetlabs/code/
cd environments/production/manifests
Vytvořte nový soubor manifestu.
vim site.pp
Vložte následující konfiguraci.
node 'agent.hakase.io' {
package { 'httpd':
ensure => "installed",
}
service { 'httpd':
ensure => running,
enable => true
}
}
Uložte a ukončete.
Nyní otevřete shell serveru loutkového agenta a spusťte níže uvedený příkaz.
/opt/puppetlabs/bin/puppet agent --test
Příkaz načte nový konfigurační soubor manifestu z hlavního serveru loutek a poté jej použije na server agenta.
Následuje výsledek.
Otevřete webový prohlížeč a zadejte IP adresu loutkového agenta.
http://10.0.15.11/
A získáte výchozí stránku HTTP, jak je uvedeno níže.
Webový server httpd byl nainstalován pomocí loutkového manifestu.
Instalace a konfigurace Puppet Master a Puppet Agent na CentOS 7 byla úspěšně dokončena.