GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie Puppet Master und Agent unter CentOS 8 ein

Puppet ist ein Open-Source-Tool zur Konfigurationsverwaltung und ein Framework zur Serverautomatisierung. Puppet kann sowohl auf Unix-ähnlichen Betriebssystemen als auch auf Microsoft Windows-Systemen ausgeführt werden. Es ermöglicht Ihnen, Verwaltungsaufgaben und die Konfiguration von Hunderten von Systemen von einem Master-Server aus zu verwalten und durchzuführen.

In diesem Tutorial werde ich Ihnen zeigen, wie Sie Puppet unter CentOS 8 installieren. Ich werde einen CentOS 8-Server als Puppet-'Master' und den anderen als 'Agent' installieren und konfigurieren.

Voraussetzungen

  • 2 oder mehr CentOS 8-Server
  • Root-Rechte

Was wir tun werden:

  • Puppet-Vorinstallation
  • Installieren und konfigurieren Sie den Puppet-Server
  • Installieren und konfigurieren Sie Puppet Agent
  • Puppet-Agent-Konfiguration überprüfen
  • Erstes Puppet-Manifest erstellen

Schritt 1 - Puppet-Vorinstallation

In diesem ersten Schritt bereiten wir sowohl den Master- als auch den Agentenserver für die Puppet-Installation vor. Wir werden Hosts und FQDN des Servers einrichten, den NTP-Server einrichten und das Puppet-Repository für den CentOS 8-Server hinzufügen.

Hostnamen einrichten

Zuerst richten wir Hosts und FQDN für beide Server ein. Der Puppet-Master hat einen Hostnamen „master“ mit dem FQDN „master.hakase-labs.io“, und der Agent hat den Hostnamen „agent01“ mit dem FQDN „agent01.hakase-labs.io“.

Richten Sie den Hostnamen mit dem Befehl „hostnamectl“ unten ein.

hostnamectl set-hostname hostname

Bearbeiten Sie danach die Datei „/etc/hosts“, um den FQDN-Server zu konfigurieren.

vim /etc/hosts

Ändern Sie die IP-Adresse und den Domainnamen mit Ihrem eigenen und fügen Sie ihn ein.

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

Speichern und schließen.

Starten Sie nun den Hostnamed-Dienst neu, um einen neuen Hostnamen und FQDN anzuwenden.

systemctl restart systemd-hostnamed

Überprüfen Sie danach den Hostnamen und den FQDN mit dem folgenden Befehl.

hostname
hostname -f

Und Sie erhalten einen neuen Hostnamen und FQDN wurde konfiguriert und auf das System angewendet.

NTP-Server einrichten

Für den NTP-Server verwenden wir "chrony" für unsere Server.

Installieren Sie chrony mit dem folgenden dnf-Befehl.

dnf install chrony

Bearbeiten Sie danach die Chrony-Konfiguration „/etc/chrony.conf“ mit dem vim-Editor.

vim /etc/chrony.conf

Tauschen Sie nun den Poolserver gegen den nächstgelegenen Pool Ihres Landes aus. Sie können das verfügbare Pool-NTP mit „https://www.pool.ntp.org/zone/COUNTRYID“ prüfen.

Kopieren Sie alle verfügbaren NTP-Server Ihres Landes und fügen Sie sie wie unten in die Datei „chrony.conf“ ein.

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

Speichern und schließen.

Starten Sie nun den chronyd-Dienst und fügen Sie ihn zur Startzeit hinzu.

systemctl start chronyd
systemctl enable chronyd

Die Konfiguration des NTP-Servers ist abgeschlossen.

Puppet-Repository für CentOS 8 hinzufügen

Für den Puppet-Repository-CentOS-8-Server können Sie ihn manuell mit dem Befehl rpm wie unten beschrieben installieren.

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

Überprüfen Sie danach alle verfügbaren Repositorys auf dem System mit dem folgenden dnf-Befehl.

dnf repolist

Und Sie werden sehen, dass das Puppet-Repository dem CentOS 8-System hinzugefügt wurde.

SELinux deaktivieren

Um SELinux zu deaktivieren, können Sie die Konfiguration „/etc/sysconfig/selinux“ mit dem vim-Editor bearbeiten.

vim /etc/sysconfig/selinux

Ändern Sie nun die 'SELINUX'-Wertkonfiguration auf "deaktiviert".

SELINUX=disabled

Speichern und schließen Sie den Server und starten Sie ihn neu.

sudo reboot

Sobald Sie sich wieder angemeldet haben, überprüfen Sie den SELinux-Status mit dem folgenden Befehl.

sestatus

Und Sie erhalten den SELinux-Deaktivierungsstatus.

Schritt 2 – Puppetserver installieren und konfigurieren

In diesem Schritt installieren und konfigurieren wir den Puppetserver auf dem Master-Knoten.

Installieren Sie den Puppetserver mit dem folgenden dnf-Befehl.

sudo dnf install puppetserver

Danach müssen wir die 'Init-Einstellungen' für Puppetserver bearbeiten und die Speicherzuweisung je nach verfügbarem RAM ändern.

Bearbeiten Sie die Puppetserver-Init-Einstellung, die sich unter „/etc/sysconfig/puppetserver“ befindet, mit dem vim-Editor.

vim /etc/sysconfig/puppetserver

Ändern Sie nun die 'JAVA_ARGS'-Konfiguration für die Speicherzuweisung in Abhängigkeit von Ihrem Arbeitsspeicher.

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

Speichern und schließen.

Gehen Sie als Nächstes in das Verzeichnis „/etc/puppetlabs“ und bearbeiten Sie die Puppet-Konfigurationsdatei „puppet.conf“.

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

Definieren Sie unter der Master-Konfiguration die alternativen DNS-Namen mit dem FQDN des Master-Servers.

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

Definieren Sie danach die Konfiguration des Puppet-Hauptservers wie unten beschrieben.

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

Speichern und schließen.

Fügen Sie nun den Puppetserver-Dienst zur Startzeit hinzu und starten Sie den Dienst.

systemctl enable puppetserver
systemctl start puppetserver

Der Puppetserver läuft auf dem CentOS 8-Server mit dem Standard-TCP-Port „8140“.

Fügen Sie den Puppetserver-Port „8140“ mit dem folgenden Befehl zur Firewall hinzu.

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

Als Ergebnis wurde die Puppet-Master-Installation und -Konfiguration erfolgreich abgeschlossen.

Schritt 3 – Puppet Agent installieren und konfigurieren

Nach der Installation des Puppet-Master-Servers „master.hakase-labs.io“ installieren wir einen Puppet-Agenten auf dem Server „agent01“.

Melden Sie sich beim Server „agent01“ an und installieren Sie das puppet-agent-Paket mit dem unten stehenden dnf-Befehl.

sudo dnf install puppet-agent

Gehen Sie danach in das Verzeichnis ‚/etc/puppetlabs‘ und bearbeiten Sie die Konfigurationsdatei ‚puppet.conf‘ mit dem vim-Editor.

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

Ändern Sie die 'certname'- und 'server'-Konfiguration durch Ihre eigene und fügen Sie sie in die Konfiguration ein.

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

Speichern und schließen.

Starten Sie als Nächstes den Puppet-Dienst und registrieren Sie den Puppet-Agenten mit dem folgenden Befehl beim Master-Server.

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

Und Sie erhalten das Ergebnis wie folgt.

Der Puppet-Agent ist jetzt betriebsbereit und versucht, sich beim Puppet-Master-Server zu registrieren.

Jetzt zurück zum Puppet-Master-Server und Prüfung auf ausstehende Zertifikatsanforderungen.

/opt/puppetlabs/bin/puppetserver ca list

Und Sie erhalten das Zertifikat ‚agent01.hakase-labs.io‘ auf der Liste.

Signieren Sie nun das Zertifikat „agent01“ mit dem folgenden Befehl.

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

Und der Puppet-Agent ist jetzt auf dem Master-Server registriert.

Schritt 4 – Puppet-Agent-Konfiguration überprüfen

Überprüfen Sie nun die Konfiguration des Puppet-Agenten und testen Sie die Verbindung zwischen dem Puppet-Agenten und dem Master mit dem folgenden Befehl.

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

Und Sie erhalten das Ergebnis wie folgt.

Als Ergebnis hat der Puppet-Agent die Konfiguration vom Puppet-Master abgerufen und ohne Fehler auf den Server angewendet.

Schritt 5 – Erstes Manifest erstellen

Zu diesem Zeitpunkt sind die Installation und Konfiguration von Puppet für Master und Agent abgeschlossen.

Und für diesen Schritt werden wir unser Setup testen, indem wir das erste Puppet-Manifest für die Installation des httpd-Pakets erstellen.

Gehen Sie in das Verzeichnis „/etc/puppetlabs/code/environments/production/manifests“ und erstellen Sie die erste Puppet-Manifestdatei „httpd.pp“.

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

vim httpd.pp

Fügen Sie die folgende Konfiguration ein.

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

Speichern und schließen.

Gehen Sie nun zum Puppet-Agent-Knoten ‚agento01‘ und führen Sie den folgenden Befehl aus.

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

Und Ihnen wird das Ergebnis wie folgt angezeigt.

Der Puppet-Agent hat eine neue Konfiguration vom Puppet-Master abgerufen, um das httpd-Paket zu installieren und den httpd-Dienst zu starten.

Überprüfen Sie auf dem Knoten „agent01“ den httpd-Dienststatus und den HTTP-Port „80“

systemctl status httpd
netstat -plntu

Und Sie erhalten, dass der httpd-Dienst auf dem Server „agent01“ mit dem Standard-HTTP-Port „80“ ausgeführt wird. Das httpd-Paket wurde über das Puppet-Manifest installiert, das wir oben erstellt haben.

Als Ergebnis wurden die Installation und Konfiguration des Puppet-Masters und des Agenten auf dem CentOS 8-Server erfolgreich abgeschlossen.


Cent OS
  1. So richten Sie einen SFTP-Server unter CentOS ein

  2. So installieren Sie Puppet unter CentOS 8 / RHEL 8

  3. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  5. So installieren Sie Puppet 6.x auf CentOS 7 / RHEL 7

So richten Sie Puppet Master und Agent unter CentOS 7 ein

So richten Sie einen SVN-Server unter CentOS ein

So installieren Sie Puppet Server und Agent unter Debian 11

So richten Sie einen FTP-Server unter CentOS ein und konfigurieren ihn

So richten Sie HAProxy unter CentOS 8 ein

So installieren Sie Puppet Server unter CentOS 7