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:
- Marionetten-Vorinstallation
- Installation und Konfiguration des Puppet-Servers
- Installation und Konfiguration des Puppet Agent
- Überprüfen der Puppet Agent Konfiguration
- 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.
– 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.
– 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
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.
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
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:
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.
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.
Ö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.
Der httpd-Webserver wurde über das Puppenmanifest installiert.
Die Installation und Konfiguration des Puppet Master und Puppet Agent auf CentOS 7 wurde erfolgreich abgeschlossen.