In diesem Tutorial zeigen wir Ihnen, wie Sie Puppet auf RHEL 8/CentOS 8 installieren.
Einführung
Marionette ist ein Softwarekonfigurationsverwaltungstool, das eine eigene deklarative Sprache zur Beschreibung der Systemkonfiguration enthält. Es handelt sich um eine modellgesteuerte Lösung, für deren Verwendung begrenzte Programmierkenntnisse erforderlich sind.
Puppet ist für die Betriebssysteme Linux, Mac, BSD, Solaris und Windows verfügbar. Es ist in der Sprache „Ruby“ geschrieben und unter der Apache-Lizenz veröffentlicht.
Installation von puppet-server
Befolgen Sie einfach die nachstehenden Schritte, um loszulegen
- Puppet-Repository hinzufügen
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
- Puppet-Server installieren
dnf install -y puppetserver
- Ändern Sie den Speicherzuweisungswert basierend auf der Anzahl der damit verbundenen Knoten. zum Beispiel werde ich 512 MB Speicher zuweisen.
- Bearbeiten Sie die Puppetserver-Konfigurationsdatei wie folgt:
vim /etc/sysconfig/puppetserver
Ändern Sie den Wert.
Von:
JAVA_ARGS="-Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
An:
JAVA_ARGS="-Xms512m -Xmx512m -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
- Puppet-Server konfigurieren
Die Konfigurationsdatei von Puppet besteht aus zwei Abschnitten namens [master] und [main] für Pupper-Server und -Agent.
vim /etc/puppetlabs/puppet/puppet.conf
- Ändern Sie die Datei entsprechend Ihrer Umgebung. Puppet-Agenten können jeden der in den dns_alt_names genannten Hostnamen verwenden um sich mit dem Puppet-Server zu verbinden.
# Pupper Server Configuration
[master]
dns_alt_names = puppetserver,puppetserver.unixcop.com
# Puppet Agent Configuration
[main]
certname = puppetserver.unixcop.com
server = puppetserver.unixcop.com
runinterval = 30m
Von oben ist der Server puppetserver.unixcop.com und certname ist mein Client-Hostname (client.unixcop.com).
- Generieren Sie die Root- und Signierungszertifizierungsstelle für Puppet Server.
puppetserver ca setup
Output:
Generation succeeded. Find your files in /etc/puppetlabs/puppet/ssl/ca
HINWEIS :Wenn Sie puppetserver:command not found erhalten, führen Sie source /etc/profile.d/puppet-agent.sh aus im Terminal oder melden Sie sich von der aktuellen Sitzung ab und wieder an.
- Starten und aktivieren Sie den Puppet-Server.
systemctl start puppetserver
systemctl enable puppetserver
- Konfigurieren Sie die Firewall, damit sich Agenten mit dem Puppet Master verbinden können. da der Puppet-Server-Abhörport 8140 ist
firewall-cmd --permanent --add-port=8140/tcp
firewall-cmd --reload
Puppet-Agent installieren
Befolgen Sie einfach die nachstehenden Schritte, um loszulegen
- Fügen Sie das Puppet-Repository auf allen Knoten hinzu.
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
- Installieren Sie den Puppet-Agenten auf Ihrem Client mit dem folgenden Befehl.COPY
dnf install -y puppet-agent
- Bearbeiten Sie die Puppet-Konfigurationsdatei und legen Sie die Puppet-Serverinformationen fest.
vim /etc/puppetlabs/puppet/puppet.conf
Stellen Sie wie unten ein.
[main]
server = puppetserver.unixcop.com
certname = client.unixcop.com
runinterval = 20m
- Puppet-Agent auf dem Knoten starten und beim Systemstart automatisch starten lassen.
puppet resource service puppet ensure=running enable=true
Output:
Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running'
service { 'puppet':
ensure => 'running',
enable => 'true',
provider => 'systemd',
}
HINWEIS :Wenn Sie puppet:command not found erhalten, führen Sie source /etc/profile.d/puppet-agent.sh aus im Terminal oder melden Sie sich von der aktuellen Sitzung ab und wieder an.
- Agent-Knoten fordern zum ersten Mal Zertifikate an, wenn sie versuchen, sie auszuführen.
- Führen Sie den folgenden Befehl auf dem Agentenknoten aus, um eine erste Verbindung herzustellen.
puppet agent -t
- Melden Sie sich beim Pupper-Server an und führen Sie puppetserver ca list aus Befehl zum Anzeigen ausstehender Anfragen.
puppetserver ca list
- Führen Sie den Befehl puppet cert sign aus, um eine Anfrage zu signieren.
puppetserver ca sign --certname client.unixcop.com
Output:
Successfully signed certificate request for client.unixcop.com
Der Puppet-Server kann jetzt mit dem Client-Rechner kommunizieren und den Knoten steuern.
- Wenn Sie mehrere Signieranforderungen von Knoten haben, können Sie alle Anforderungen in einem Befehl signieren.
puppetserver ca sign --all
- Listen Sie alle signierten und unsignierten Anfragen auf.
puppetserver ca list --all
- Führen Sie den folgenden Befehl auf dem Clientcomputer aus, um den Server zu testen
puppet agent --test
Output:
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for client.unixcop.com
Info: Applying configuration version '3599283484'
Notice: Applied catalog in 0.03 seconds
Schlussfolgerung
Das ist alles.
In dieser Anleitung haben wir gezeigt, wie Puppet unter CentOS 8 / RHEL 8 installiert wird.
Danke