GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit Puppet Master a Agent na CentOS 8

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í úkoly a konfiguraci stovek systémů z jednoho hlavního serveru.

V tomto tutoriálu vám ukážu, jak nainstalovat Puppet na CentOS 8. Nainstaluji a nakonfiguruji server CentOS 8 jako loutkový 'master' a druhý jako 'agent'.

Předpoklady

  • 2 nebo více serverů CentOS 8
  • 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 prvním kroku připravíme hlavní i agentní servery pro instalaci loutky. Nastavíme hostitele a FQDN serveru, nastavíme NTP server a přidáme úložiště loutek pro server CentOS 8.

Nastavit názvy hostitelů

Nejprve nastavíme hostitele a FQDN pro oba servery. Loutkář bude mít název hostitele „master“ s FQDN „master.hakase-labs.io“ a agent bude mít název hostitele „agent01“ s FQDN „agent01.hakase-labs.io“.

Nastavte název hostitele pomocí příkazu 'hostnamectl' níže.

hostnamectl set-hostname hostname

Poté upravte soubor '/etc/hosts' pro konfiguraci serveru FQDN.

vim /etc/hosts

Změňte IP adresu a název domény za vlastní a vložte do něj.

10.5.5.21   master.hakase-labs.io   master
10.5.5.22   agent01.hakase-labs.io  agent01

Uložit a zavřít.

Nyní restartujte službu s názvem hostitele a použijte nový název hostitele a FQDN.

systemctl restart systemd-hostnamed

A poté zkontrolujte název hostitele a úplný název domény pomocí následujícího příkazu.

hostname
hostname -f

A získáte nový název hostitele a FQDN byl nakonfigurován a aplikován na systém.

Nastavení serveru NTP

Pro server NTP budeme pro naše servery používat „chrony“.

Nainstalujte chrony pomocí příkazu dnf níže.

dnf install chrony

Poté upravte konfiguraci chrony '/etc/chrony.conf' pomocí editoru vim.

vim /etc/chrony.conf

Nyní změňte server fondu za nejbližší fond ve vaší zemi. Dostupné NTP fondu můžete zkontrolovat pomocí 'https://www.pool.ntp.org/zone/COUNTRYID'.

Zkopírujte všechny dostupné NTP servery vaší země a vložte je do souboru 'chrony.conf', jak je uvedeno níže.

server 0.id.pool.ntp.org iburst
server 1.id.pool.ntp.org iburst
server 2.id.pool.ntp.org iburst
server 3.id.pool.ntp.org iburst

Uložit a zavřít.

Nyní spusťte službu chronyd a přidejte ji do spouštěcí doby spouštění.

systemctl start chronyd
systemctl enable chronyd

Konfigurace serveru NTP byla dokončena.

Přidat Puppet Repository pro CentOS 8

Pro server loutkového úložiště CentOS 8 jej můžete nainstalovat ručně pomocí příkazu rpm, jak je uvedeno níže.

sudo rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm

Poté zkontrolujte všechna dostupná úložiště v systému pomocí příkazu dnf níže.

dnf repolist

A dostanete, že úložiště loutek bylo přidáno do systému CentOS 8.

Zakázat SELinux

Chcete-li deaktivovat SELinux, můžete upravit konfiguraci '/etc/sysconfig/selinux' pomocí editoru vim.

vim /etc/sysconfig/selinux

Nyní změňte konfiguraci hodnoty 'SELINUX' na "disabled".

SELINUX=disabled

Uložte a zavřete a poté restartujte server.

sudo reboot

Jakmile se znovu přihlásíte, zkontrolujte stav SELinux pomocí následujícího příkazu.

sestatus

A získáte stav SELinux zakázán.

Krok 2 – Instalace a konfigurace Puppetserver

V tomto kroku nainstalujeme a nakonfigurujeme loutkový server na hlavním uzlu.

Nainstalujte puppetserver pomocí příkazu dnf níže.

sudo dnf install puppetserver

Poté musíme upravit 'init settings' pro loutkový server a změnit alokaci paměti v závislosti na RAM, kterou máme.

Upravte nastavení init loutkového serveru, které se nachází v '/etc/sysconfig/puppetserver' pomocí editoru vim.

vim /etc/sysconfig/puppetserver

Nyní změňte konfiguraci 'JAVA_ARGS' pro alokaci paměti v závislosti na vaší RAM.

JAVA_ARGS="-Xms1g -Xmx1g ...."

Uložit a zavřít.

Dále přejděte do adresáře '/etc/puppetlabs' a upravte konfigurační soubor loutky 'puppet.conf'.

cd /etc/puppetlabs/
vim puppet/puppet.conf

V hlavní konfiguraci definujte alternativní názvy DNS s FQDN hlavního serveru.

[master]
....
dns_alt_names=master.hakase-labs.io,puppet
....

Poté definujte konfiguraci hlavního serveru loutky, jak je uvedeno níže.

[main]
certname = master.hakase-labs.io
server = master.hakase-labs.io
environment = production
runinterval = 1h

Uložit a zavřít.

Nyní přidejte službu puppetserver do spouštěcího času spuštění a spusťte službu.

systemctl enable puppetserver
systemctl start puppetserver

Loutkový server běží na serveru CentOS 8 s výchozím portem TCP '8140'.

Přidejte port puppetserver '8140' k firewallu pomocí následujícího příkazu.

firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload

V důsledku toho byla instalace a konfigurace loutkového mistra úspěšně dokončena.

Krok 3 – Instalace a konfigurace Puppet Agent

Po instalaci hlavního serveru loutek 'master.hakase-labs.io' nainstalujeme loutkového agenta na server 'agent01'.

Přihlaste se k serveru 'agent01' a nainstalujte balíček puppet-agent pomocí příkazu dnf níže.

sudo dnf install puppet-agent

Poté přejděte do adresáře '/etc/puppetlabs' a upravte konfigurační soubor 'puppet.conf' pomocí editoru vim.

cd /etc/puppetlabs/
vim puppet/puppet.conf

Změňte konfiguraci 'certname' a 'server' na vlastní a vložte ji do konfigurace.

[main]
certname = agent01.hakase-labs.io
server = master.hakase-labs.io
environment = production
runinterval = 1h

Uložit a zavřít.

Dále spusťte službu loutky a zaregistrujte agenta Puppet na hlavním serveru pomocí následujícího příkazu.

/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

A dostanete výsledek, jak je uvedeno níže.

Loutkový agent je nyní v provozu a pokouší se zaregistrovat na serveru Puppet master.

Nyní zpět na hlavní server Puppet a zkontrolujte nevyřízené žádosti o certifikát.

/opt/puppetlabs/bin/puppetserver ca list

A na seznamu získáte certifikát 'agent01.hakase-labs.io'.

Nyní podepište certifikát 'agent01' pomocí příkazu níže.

/opt/puppetlabs/bin/puppetserver ca sign --certname agent01.hakase-labs.io

A loutkový agent je nyní zaregistrován na hlavním serveru.

Krok 4 – Ověřte konfiguraci loutkového agenta

Nyní ověřte konfiguraci loutkového agenta a otestujte spojení mezi loutkovým agentem a mistrem pomocí následujícího příkazu.

/opt/puppetlabs/bin/puppet agent --test

A dostanete výsledek, jak je uvedeno níže.

Výsledkem je, že agent Puppet stáhl konfiguraci z loutkového mistra a aplikoval ji na server bez jakékoli chyby.

Krok 5 – Vytvořte první manifest

V této fázi byla dokončena instalace a konfigurace Puppet pro master a agent.

A v tomto kroku otestujeme naše nastavení vytvořením prvního loutkového manifestu pro instalaci balíčku httpd.

Přejděte do adresáře '/etc/puppetlabs/code/environments/production/manifests' a vytvořte první soubor manifestu loutky 'httpd.pp'.

cd /etc/puppetlabs/code/
cd environments/production/manifests

vim httpd.pp

Vložte následující konfiguraci.

node 'agent01.hakase-labs.io' {
    package { 'httpd':
        ensure  => "installed",
    }
    service { 'httpd':
        ensure => running,
    enable => true
    }
}

Uložit a zavřít.

Nyní přejděte do uzlu Puppet agent 'agento01' a spusťte následující příkaz.

/opt/puppetlabs/bin/puppet agent --test

A zobrazí se vám výsledek, jak je uvedeno níže.

Agent Puppet stáhl z hlavního serveru Puppet novou konfiguraci pro instalaci balíčku httpd a spustil službu httpd.

V uzlu 'agent01' zkontrolujte stav služby httpd a zkontrolujte port HTTP '80'

systemctl status httpd
netstat -plntu

A získáte službu httpd, která je spuštěna na serveru 'agent01' s výchozím portem HTTP '80'. Balíček httpd byl nainstalován prostřednictvím loutkového manifestu, který jsme vytvořili nahoře.

Výsledkem je, že instalace a konfigurace hlavního serveru Puppet a agenta na serveru CentOS 8 byly úspěšně dokončeny.


Cent OS
  1. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

  2. Jak nainstalovat Puppet 6.x na CentOS 7 / RHEL 7

  3. Jak nastavit replikaci MySQL na CentOS

  1. Jak nastavit SFTP server na CentOS

  2. Jak nainstalovat Puppet na CentOS 8 / RHEL 8

  3. Jak nastavit server NFS na CentOS 7 / RHEL 7

  1. Jak nainstalovat a nakonfigurovat VNC na CentOS 7

  2. Jak nastavit FTP server s VSFTPD na CentOS 7

  3. Jak nastavit NTP server v CentOS?