So richten Sie Puppet auf CentOS 7 ein

Puppet ist ein Open-Source-Konfigurationsmanagement-Tool 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, administrative Aufgaben 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 auf CentOS 7 installieren können. Ich werde einen CentOS 7-Server als Puppet „Master“ und den anderen als „Agent“ installieren und konfigurieren.

Voraussetzungen

  • 2 CentOS 7 Server
    • 10.0.15.10 × × × master.hakase.io × 2GB Speicherplatz
    • 10.0.15.11 × × × agent.hakase.io.io
  • Root-Rechte

Was wir tun werden:

  1. Marionetten-Vorinstallation
  2. Installation und Konfiguration des Puppet-Servers
  3. Installation und Konfiguration des Puppet Agent
  4. Überprüfen der Puppet Agent Konfiguration
  5. Erstes Puppenmanifest erstellen

Schritt 1 – Installation von Puppet vorbereiten

In diesem Schritt werden wir einige Aufgaben durchführen, einschließlich der Installation und Konfiguration auf beiden Servern, dem Puppet Master und dem Puppet Agent. Wir werden die Datei des Hosts konfigurieren, die Zeit über den NTP-Server synchronisieren, SELinux deaktivieren und das puppet-Repository zum System hinzufügen.

– Hosts konfigurieren

Verbinden Sie sich mit dem Puppet Server und Puppet-Agent über Ihren Root-Benutzer.

ssh root@10.0.15.10
ssh root@10.0.15.11

Bearbeiten Sie nun die Hosts mit dem vim editor.

vim /etc/hosts

Fügen Sie die folgende Konfiguration am Ende der Zeile hinzu.

10.0.15.10      master.hakase.io
 10.0.15.11      agent.hakase.io

Speichern und beenden.

Testen Sie nun mit dem Befehl ping.

ping master.hakase.io
ping agent.hakase.io

Und stellen Sie sicher, dass Sie die Server-IP-Adresse 10.0.15.10 und 10.0.15.11 erhalten.

Hosts-Datei konfigurieren

– NTP-Server konfigurieren

Es ist sehr wichtig, die Zeit zwischen Master- und Agentenserver synchron zu halten.

Installieren Sie die NTP-Pakete auf beiden Servern mit dem Befehl yum.

yum -y install ntp ntpdate

Nachdem die Installation abgeschlossen ist, wählen Sie den NTP-Pool nach Ihren Wünschen aus, indem Sie den Befehl wie unten beschrieben ausführen.

sudo ntpdate 0.centos.pool.ntp.org

Starten Sie nun den NTP-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet werden kann.

sudo systemctl start ntpd
sudo systemctl enable ntpd

Die NTP-Installation und -Konfiguration ist abgeschlossen.

NTP konfigurieren

– SELinux deaktivieren

Bearbeiten Sie die SELinux-Konfiguration mit vim.

vim /etc/sysconfig/selinux

Ändern Sie den SELINUX-Wert auf’disabled‘.

SELINUX=disabled

Speichern und beenden.

– Puppet Repository hinzufügen

Fügen Sie nun das puppet-Repository mit dem folgenden rpm-Befehl zum System hinzu.

rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm

Puppet-Repository hinzufügen

Wenn es fertig ist, starten Sie beide Server neu.

reboot

Jetzt sind wir bereit für die Installation und Konfiguration von Puppen.

Schritt 2 – Installation und Konfiguration des Puppetserver

In diesem Schritt installieren wir den Puppetserver auf dem master.hakase.io Server. Installieren Sie puppetserver mit dem Befehl yum unten.

sudo yum -y install puppetserver

Nach Abschluss der Installation müssen wir die Speicherzuweisung für puppetserver konfigurieren. Wir werden die maximale Speicherzuweisung für puppetserver auf 1GB einstellen.

Bearbeiten Sie die Konfiguration des ‚puppetserver‘ mit vim.

vim /etc/sysconfig/puppetserver

Ändern Sie nun die Linie wie unten beschrieben.

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

Speichern und beenden.

Gehen Sie anschließend in das Puppet-Konfigurationsverzeichnis und bearbeiten Sie die Datei ‚puppet.conf‘.

cd /etc/puppetlabs/puppet
vim puppet.conf

Fügen Sie die folgende Konfiguration hinzu.

[master]
 dns_alt_names=master.hakase.io,puppet
[main]
certname = master.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h

Speichern und beenden.

Starten Sie nun den Puppetserver und lassen Sie ihn beim Start jederzeit starten.

systemctl start puppetserver
systemctl enable puppetserver

Die Installation und Konfiguration des Puppetserver wurde erfolgreich abgeschlossen.

Puppetserver konfigurieren

Wenn Sie auf Ihrem System eine Firewall verwenden, fügen Sie den puppetserver-Port mit dem Befehl firewall-cmd unten der Liste hinzu.

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

Firewall konfigurieren

Schritt 3 – Installation und Konfiguration des Puppet Agent

Wir werden den Puppet-Agenten auf dem ‚agent.hakase.io‘ Server installieren.

Installieren Sie den Puppet-Agent mit dem Befehl yum unten.

yum install -y puppet-agent

Nachdem die Installation abgeschlossen ist, gehen Sie in das Konfigurationsverzeichnis von puppet und bearbeiten Sie die Datei puppet.conf.

cd /etc/puppetlabs/puppet
vim puppet.conf

Fügen Sie die folgende Konfiguration ein.

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

Speichern und beenden.

Als nächstes registrieren wir den Puppet-Agent beim Puppet-Server.

Führen Sie den folgenden Befehl auf der Shell des Puppet Servers aus.

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

Der Puppet-Agent läuft nun auf dem Server und versucht, sich beim Puppet-Server zu registrieren.

Kehren Sie nun zur Puppenspielershell zurück und führen Sie den folgenden Befehl aus.

/opt/puppetlabs/bin/puppet cert list

Und Sie erhalten die ausstehende Certificate Signing Request (CSR) vom Puppet-Agenten-Server ‚agent.hakase.io‘.

Signieren Sie das Zertifikat mit dem folgenden Befehl.

/opt/puppetlabs/bin/puppet cert sign agent.hakase.io

Und das Ergebnis sollte dem folgenden ähnlich sein:

Marionettenagent konfigurieren

Puppet läuft nun auf dem System, und das Zertifikat für den Agent wurde vom Puppet Server unterschrieben.

Schritt 4 – Überprüfen Sie die Konfiguration des Puppet Agent

Nachdem der Puppet-Master die Zertifikatsdatei für den Agenten signiert hat, führen Sie den folgenden Befehl auf dem Puppet-Agenten aus, um die Konfiguration zu überprüfen.

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

Und Sie erhalten das Ergebnis wie unten gezeigt.

Überprüfen Sie die Konfiguration des Puppenspielers.

Der Puppet-Agent hat die Konfiguration aus dem Puppet-Master übernommen und ohne Fehler auf den Server angewendet.

Schritt 5 – Erstes Manifest erstellen

Die Installation und Konfiguration des Puppet Servers und des Agenten ist abgeschlossen. Und für diesen Schritt werden wir ein einfaches Manifest zum Testen erstellen.

Wir werden das Manifest für die Installation des Apache httpd Webservers erstellen.

Gehen Sie auf dem Puppet-Master-Server in das Verzeichnis ‚/etc/puppetlabs/code/‘ und erstellen Sie die neue Manifestdatei ’site.pp‘ mit vim.

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

Erstellen Sie eine neue Manifestdatei.

vim site.pp

Fügen Sie die folgende Konfiguration ein.

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

Speichern und beenden.

Öffnen Sie nun die Server-Shell des puppet agent und führen Sie den folgenden Befehl aus.

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

Der Befehl ruft eine neue Manifest-Konfigurationsdatei vom Puppet-Master ab und wendet sie dann auf den Agentenserver an.

Folgendes ist das Ergebnis.

Marionettenmanifest erstellen

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Puppenspielers ein.

http://10.0.15.11/

Und Sie erhalten die Standard-HTTP-Seite wie unten beschrieben.

Apache-Testseite

Der httpd-Webserver wurde über das Puppenmanifest installiert.

Die Installation und Konfiguration des Puppet Master und Puppet Agent auf CentOS 7 wurde erfolgreich abgeschlossen.

Referenz

Das könnte dich auch interessieren …