Foreman ist ein kostenloses und quelloffenes Konfigurations- und Bereitstellungstool, das auf Red Hat-, CentOS-, Scientific Linux-, Debian- und Ubuntu-Systemen installiert werden kann. Mit dem Forman-Tool können wir einfach virtuelle Maschinen und Bare-Metal-Server bereitstellen und dann die installierten Systeme mit den Konfigurationstools wie Puppet und Ansible konfigurieren. Wann immer wir den Foreman-Server installieren, installiert er automatisch den Puppet-Master darauf.
Mit Hilfe der Foreman-GUI können Systemadministratoren spezifische Puppet-Module auf die registrierten Server anwenden, um sich wiederholende Aufgaben zu erledigen, und können auch alltägliche Betriebsaufgaben einfach automatisieren.
In diesem Tutorial führen wir die Installationsschritte von Foreman 1.16 auf Debian 9 und Ubuntu 16.04 Server durch.
Im Folgenden finden Sie die Mindestsystemanforderungen für den Foreman-Server:
- 4 GB RAM (wenn Puppet Master auf demselben Foreman-Server installiert ist)
- 2-Kern-CPU
- Neu installiertes Debian 9 / Ubuntu 16.04
Darunter befinden sich die Einrichtungsdetails von my lab für foreman Server
- IP-Adresse von Foreman Server ist „192.168.1.20“
- Hostname des Foreman-Servers „foreman.linuxtechi.com“
- Puppet Master 5 wird auf dem Foreman-Server installiert
- Betriebssystem:Debian 9 / Ubuntu 16.04 LTS-Server
Melden wir uns beim Debian 9 / Ubuntu 16.04 LTS-System an
Schritt:1) Konfigurieren Sie den Hostnamen und aktualisieren Sie seine Einträge in der Hosts-Datei
Verwenden Sie den Befehl systemctl, um den Hostnamen Ihres Systems zu konfigurieren.
$ sudo hostnamectl set-hostname "foreman.linuxtechi.com" $ exec bash
Aktualisieren Sie die Hostnamen-Einträge Ihres Systems in der Datei /etc/hosts.
192.168.1.20 foreman.linuxtechi.com foreman
Schritt:2) Erforderliche Repositories für Foreman &Puppet aktivieren
Für das Debian 9-System:
Aktivieren Sie Puppet 5 Repositories mit den folgenden Befehlen
[email protected]:~$ sudo apt-get -y install ca-certificates [email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-stretch.deb [email protected]:~$ sudo dpkg -i puppet5-release-stretch.deb
Aktivieren Sie Foreman 1.16-Repositories mit den folgenden Befehlen
[email protected]:~$ echo "deb http://deb.theforeman.org/ stretch 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list [email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list li[email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add - OK [email protected]:~$
Für Ubuntu 16.04 LTS-System
Puppet 5-Repositories aktivieren
[email protected]:~$ sudo apt-get -y install ca-certificates [email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb [email protected]:~$ sudo dpkg -i puppet5-release-xenial.deb
Foreman 1.16-Repositories aktivieren
[email protected]:~$ echo "deb http://deb.theforeman.org/ xenial 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list [email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list [email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add - OK [email protected]:~$
Schritt:3) Laden Sie „foreman-installer“ mit dem Befehl apt-get herunter
Führen Sie den folgenden Befehl aus, um Foreman-Installer zu installieren,
[email protected]:~$ sudo apt-get update && sudo apt-get -y install foreman-installer
Foreman-Installer ist das Installationstool für Foreman.
Schritt:4) Installieren Sie Foreman mit „foreman-installer“
Führen Sie den Befehl foreman-installer aus, um den Foreman-Server zu installieren. Standardmäßig installiert und konfiguriert der Foreman-Installer die folgenden Komponenten:
- Foreman Web UI (Apache HTTP mit SSL)
- Smart-Proxy
- Puppenmeister
- Marionettenagent
- TFTP-Server
[email protected]:~$ sudo foreman-installer --foreman-admin-username admin --foreman-admin-password "[email protected]#"
Sobald die Installation erfolgreich abgeschlossen ist, erhalten wir eine Ausgabe wie unten:
Falls die Betriebssystem-Firewall aktiviert ist und auf Ihrem System ausgeführt wird, öffnen Sie die folgenden Ports für den Foreman-Server
[email protected]:~$ sudo ufw allow 53/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 67:69/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 80/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 443/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 3000/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 3306/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 5910:5930/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 5432/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 8140/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 8443/tcp Rule added Rule added (v6) [email protected]:~$
Hinweis: In meinem Fall erhielt ich bei der Installation von Foreman diesen Fehler „Fehler beim Ausführen von SQL; psql gab PID 32532 zurück Exit 1:‘ERROR: ungültiger Gebietsschemaname:“en_US.utf8”, ich habe diesen Fehler behoben, indem ich den folgenden Befehl ausgeführt habe:
[email protected]:~$ sudo dpkg-reconfigure locales
Wählen Sie „en_US.UTF-8 UTF-8 aus ” und wählen Sie dann OK und starten Sie den Computer neu und führen Sie dann den foreman-installer-Befehl erneut aus.
Schritt:5) Rufen Sie die Web-Benutzeroberfläche von Foreman auf
Wir können über die folgende URL auf die Web-Benutzeroberfläche von Foreman zugreifen:
https://{Foreman_Server_IP}
oder
https://{Hostname_Foreman_Server}
Verwenden Sie den Benutzernamen als „admin“ und das Passwort, das wir im foreman-installer-Befehl angeben,
Gehen Sie zu Hosts Tab –> Klicken Sie auf „Alle Hosts“. ”
Ab sofort ist nur ein Host registriert, nämlich unser Foreman-Server. Wann immer wir neue Server beim Vorarbeiter registrieren, werden diese Server hier aufgelistet. Abgesehen davon wird standardmäßig auch die Produktionsumgebung erstellt und alle Server werden in der Standardumgebung registriert. Sie können Ihre Umgebungen, die zu Ihrer Organisation passen, von Foreman UI aus erstellen.
Laden Sie das NTP-Puppet-Modul auf Foreman Server herunter und importieren Sie es
Verwenden Sie den folgenden Befehl, um das NTP-Puppet-Modul von „forge.puppet.com“
herunterzuladen[email protected]:~$ sudo su - [email protected]:~# puppet module install puppetlabs-ntp -i /etc/puppetlabs/code/modules/
Wir erhalten die Ausgabe etwa wie folgt:
Importieren Sie das installierte NTP-Modul in das Vorarbeiter-Dashboard
Gehen Sie im Dashboard zu Konfigurieren Tab –> Marionette auswählen –> Klassen , Klicken Sie auf Importieren
Wählen Sie die Umgebungen aus, denen Sie dieses Modul hinzufügen möchten, in meinem Fall werde ich es an Produktion und Entwicklung anhängen.
Klicken Sie auf Aktualisieren,
Wir erhalten das nächste Fenster etwa wie folgt:
Lassen Sie uns einen CentOS 7-Host im Foreman-Dashboard registrieren und dann das NTP-Modul daran anhängen,
Registrieren eines CentOS 7-Servers
Melden Sie sich beim System an und aktivieren Sie das Yum-Repository von Puppetlabs und installieren Sie dann das Puppet-Paket
[[email protected] ~]# yum install https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm -y [[email protected] ~]# yum install puppet -y
Hinweis: Falls Sie keinen DNS-Server haben, fügen Sie Einträge in der Hosts-Datei hinzu. In meinem Fall habe ich die folgenden Zeilen in der /etc/hosts-Datei hinzugefügt
192.168.1.20 foreman.linuxtechi.com 192.168.1.2 mx2.linuxtechi.com
Führen Sie den folgenden Befehl von Ihrem Centos 7-Server aus, um diese Maschine im Puppet Master &Foreman-Dashboard zu registrieren.
[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Sie erhalten die Ausgabe des Befehls etwa wie folgt:
…………………………………………………… Debug: Finishing transaction 22347940 Info: Creating a new SSL key for mx2.linuxtechi.com Info: Caching certificate for ca Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for mx2.linuxtechi.com Info: Certificate Request fingerprint (SHA256): A4:D3:15:0D:8D:10:48:93:96:1D:E4:61:5F:F7:F6:B4:CB:C2:01:F4:4C:02:99:37:03:2C:9E:24:0E:30:CF:CC Debug: Using cached certificate for ca Info: Caching certificate for ca Debug: Using cached certificate_request for mx2.linuxtechi.com Debug: Using cached certificate for ca Debug: Using cached certificate for ca Exiting; no certificate found and waitforcert is disabled [[email protected] ~]#
Dies bedeutet, dass wir das Zertifikat des CentOS 7-Servers manuell von der Vorarbeitermaschine signieren müssen. Um das Zertifikat vom Vorarbeiter-Dashboard aus zu signieren, führen Sie die folgenden Schritte aus
Aus der Infrastruktur Tab –> Wählen Sie Smart Proxys und klicken Sie dann auf Bearbeiten Option und wählen Sie „Zertifikate“. ”
Unterzeichnen Sie nun das Zertifikat der Maschine, deren Status ausstehend ist, das Beispiel ist unten gezeigt:
Klicken Sie auf das Zeichen
Beziehen Sie sich auf die folgenden Schritte, um Autosign zu konfigurieren
Aus der Infrastruktur Tab –> Wählen Sie Smart Proxys und klicken Sie dann auf Bearbeiten Option und wählen Sie „Autosign“. ”
Erstellen Sie einen Autosign-Eintrag und geben Sie den Domänennamen an, für den der Vorarbeiter die Zertifikate automatisch signieren soll
Klicken Sie auf Speichern . Wenn das nächste Mal ein Server aus der Domäne „linuxtechi.com“ beim Foreman-Server registriert wird, wird er automatisch signiert,
Gehen Sie jetzt erneut zum CentOS 7-Server und führen Sie den Puppet-Agent-Befehl erneut aus. Dieser Zeitbefehl sollte erfolgreich ausgeführt werden,
[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Überprüfen Sie den Host über das Dashboard, Von Hosts Tab –> Wählen Sie „Alle Hosts“. “, dort werden wir unseren neu registrierten Host (CentOS 7 Server)
Verbinden wir das NTP-Modul mit dem neu registrierten Server (mx2.linuxtechi.com), wählen Sie den Host aus und klicken Sie auf Bearbeiten , und gehen Sie dann zu „Marionettenklassen ” Registerkarte
Klicken Sie auf „+“ Melden Sie sich vor ntp an, um das Modul hinzuzufügen, und klicken Sie dann auf "Submit". ‘
Gehen Sie zu CentOS7 Server und führen Sie den Puppet Agent-Befehl erneut aus. Dieses Mal wird ntp auf Ihrem CentOS 7-Server konfiguriert.
[[email protected] puppet]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Die Ausgabe des obigen Befehls sieht in etwa so aus:
Dies bestätigt, dass sich der CentOS 7-Server erfolgreich über Foreman Server registriert und konfiguriert hat. Es schließt auch den Artikel ab, bitte teilen Sie Ihre Kommentare im Kommentarbereich unten.
Lesen Sie mehr über „Bare-Metal- und Virtual-Machine-Bereitstellung über Foreman Server „