Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie installiere ich Puppet Bolt, um Sysadmin-Aufgaben zu automatisieren?

Automatisierung
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Puppet Bolt unter Ubuntu installieren…

Marionettenbolzen ist ein Open-Source-Tool, das häufig zur Automatisierung der manuellen Arbeit verwendet wird.

YouTube-Video

Bolt basiert auf Ruby und seinem Befehlszeilentool, mit dem Skripts ausgeführt und Befehle auf einem lokalen und Remote-Server über SSH und WinRM ausgeführt werden. Es hilft Sysadmin, mehrere Server auf viele Arten zu verwalten.

  • Updates verwalten
  • Software-Installation
  • Protokoll lesen
  • Dienste stoppen oder starten
  • Befehlsausführung

Die gute Nachricht ist, dass Sie keinen Agenten auf den Servern installieren müssen. Es ist agentenlos.

Prerequisite

Das folgende Beispiel ist unter Ubuntu, daher benötigen Sie eine Ubuntu-VM mit sudo Zugriff auf root.

Update System

Wir empfehlen Ihnen dringend, das gesamte verfügbare Repository und Paket zu aktualisieren, bevor Sie ein neues Paket auf dem System installieren. Führen Sie den folgenden Befehl aus, und er erledigt die Aufgabe für Sie.

sudo apt-get update

Installing Puppet Bolt

Da es agentenlos ist, müssen Sie nicht auf jedem Server installieren. Stattdessen nur auf einem Server, der als Master fungiert und zur Verbindung mit Remote-Servern verwendet werden kann. Bolt ist ein plattformübergreifendes Tool, mit dem Sie es auf Ihrem bevorzugten Betriebssystem installieren können.

  • Windows
  • macOS
  • RHEL
  • CentOS
  • Fedora
  • Debian
  • Ubuntu

Siehe die offizielle Seite für die neueste verfügbare Version. Lassen Sie uns dies auf Ubuntu installieren.

Führen Sie den folgenden Befehl aus, um das Paket abzurufen.

sudo wget https://apt.puppet.com/puppet6-release-bionic.deb

Installieren Sie als Nächstes das oben heruntergeladene Paket mit dem Befehl Debian package manager.

sudo dpkg -i puppet6-release-bionic.deb

Aktualisieren Sie das System erneut mit dem folgenden Befehl.

sudo apt-get update

Führen Sie abschließend den folgenden Befehl aus, um die Schraube zu installieren.

sudo apt-get install puppet-bolt

Sie haben erfolgreich installiert Marionettenbolzen auf Ihrem Server.

Dies muss auf allen Servern erfolgen, die Sie über Bolt verwalten möchten.

Wie bereits erwähnt, stellt Bolt über den SSH-Schlüssel eine Verbindung zu einem anderen Server her. Ich gehe also davon aus, dass Sie bereits einen Schlüssel zwischen den Servern ausgetauscht haben. Wenn nicht, können Sie dies verweisen Anleitung zum Einrichten des SSH-Schlüsselaustauschs.

Stellen Sie eine Verbindung zu Remote-Servern her und führen Sie Bolt-Befehle aus.

Verwenden Sie den folgenden Befehl, um einen Befehl auf einem einzelnen Knoten auszuführen.

bolt command run <COMMAND> --nodes <NODE>

Bitte ersetzen Sie den BEFEHL durch den Befehl, den Sie ausführen möchten, und NODE durch den Hostnamen oder die IP des Remote-Servers. In ähnlicher Weise können Sie einen Befehl auch auf mehreren Knoten ausführen.

bolt command run <COMMAND> -n <NODE1,NODE2,NODE3,NODE4>

Wenn Sie einem Befehl eine Kennwortauthentifizierung hinzufügen müssen, können Sie diese mithilfe der Flags hinzufügen.

bolt command run <COMMAND> -n <NODE1,NODE2> -u <USER> -p <PASSWORD>

Angenommen, Sie möchten sehen, wie lange das System ausgeführt wurde, dann müssen Sie den Befehl `uptime` wie folgt verwenden:

bolt command run uptime --nodes 35.185.68.71,35.231.9.135

Sie sollten die folgende Ausgabe sehen.

sajid@Sajid-PC:~$ bolt command run uptime --nodes 35.185.68.71,35.231.9.135
Started on 35.185.68.71...
Started on 35.231.9.135...
Finished on 35.231.9.135:
STDOUT:
04:57:48 up 7 min, 0 users, load average: 0.00, 0.03, 0.02
Finished on 35.185.68.71:
STDOUT:
04:57:48 up 9 min, 0 users, load average: 0.00, 0.00, 0.00
Successful on 2 nodes: 35.185.68.71,35.231.9.135
Ran on 2 nodes in 5.96 seconds

Möglicherweise möchten Sie einen Befehl ausführen, der die Leerzeichen enthält, sodass Sie den Befehl in einfache Anführungszeichen setzen müssen:

sajid@Sajid-PC:~$ bolt command run 'echo $HOME' --nodes 35.185.68.71,35.231.9.135
Started on 35.185.68.71...
Started on 35.231.9.135...
Finished on 35.231.9.135:
STDOUT:
/home/sajid
Finished on 35.185.68.71:
STDOUT:
/home/sajid
Successful on 2 nodes: 35.185.68.71,35.231.9.135
Ran on 2 nodes in 6.11 seconds

Running Scripts

Wir haben alle eine Reihe von Skripten, die wir regelmäßig verwenden.

Mit Bolt ist es einfach, diese Skripte ohne Änderungen wiederzuverwenden und auf noch mehr Knoten gleichzeitig auszuführen. Sie müssen lediglich den Namen und den Pfad des Skripts angeben, das Sie ausführen möchten.

bolt script run <PATH/TO/SCRIPT> --nodes <NODE1,NODE2,NODE3,NODE4>
bolt script run /home/sajid/Desktop/samplescript.sh --nodes 35.185.68.71,35.231.9.135

Sie sollten die Ausgabe ähnlich sehen:

sajid@Sajid-PC:/$ bolt script run /home/sajid/Desktop/samplescript.sh --nodes 35.185.68.71,35.231.9.135
Started on 35.185.68.71...
Started on 35.231.9.135...
Finished on 35.231.9.135:
STDOUT:
Hello World
Finished on 35.185.68.71:
STDOUT:
Hello World
Successful on 2 nodes: 35.185.68.71,35.231.9.135
Ran on 2 nodes in 15.18 seconds

Sie können Skripte in jeder Sprache ausführen, solange der entsprechende Interpreter auf dem Remote-System installiert ist.

Automation with Task

Die Aufgabe besteht aus einer Reihe von Aktionen, die Sie auf Remotecomputern ausführen möchten.

Aufgaben können in jeder Sprache geschrieben werden, die auf einem Remote-Knoten ausgeführt wird. Aufgaben erleichtern die Wiederverwendung und Freigabe von Skripten und helfen Ihnen bei der Automatisierung. Sie können einige vorhandene Aufgaben von Puppet Forge herunterladen und Ihre Aufgaben dort nach Bedarf hochladen.

Wenn Sie beispielsweise den Status des vim-Pakets überprüfen möchten, können Sie den folgenden Befehl verwenden.

bolt task run package action=status name=vim --nodes 35.185.68.71,35.231.9.135

Sie sehen die Ausgabe ähnlich wie folgt:

sajid@Sajid-PC:~$ bolt task run package action=status name=vim --nodes 35.185.68.71,35.231.9.135
Started on 35.185.68.71...
Started on 35.231.9.135...
Finished on 35.185.68.71:
{
"status": "install ok installed",
"version": "2:7.4.1689-3ubuntu1.3"
}
Finished on 35.231.9.135:
{
"status": "install ok installed",
"version": "2:7.4.1689-3ubuntu1.3"
}
Successful on 2 nodes: 35.185.68.71,35.231.9.135
Ran on 2 nodes in 19.15 seconds

Wenn Sie das installierte vim-Paket nicht finden, können Sie es mit dem folgenden Befehl installieren.

bolt task run package action=install name=vim --nodes 35.185.68.71,35.231.9.135

Sie können plan ausführen, um nodejs einzurichten und mit Ihrem Load Balancer zu verbinden. Sie können dies tun, indem Sie Puppet Bolt mit einem Zielknoten kombinieren, auf dem der Bolt bereits installiert ist.

bolt plan run nodejs::myplan load_balancer=lb.myorg.com

Sie können Puppet Bolt verwenden, um Dateien auf Remote-Knoten zu kopieren. Sie können die Datei oder das Verzeichnis einfach mit dem Befehl "Bolt File Upload" auf den Remote-Knoten hochladen. Sie müssen lediglich den Pfad der Datei auf dem lokalen Computer und das Ziel auf dem Remote-Knoten angeben.

bolt file upload <SOURCE> <DESTINATION> --nodes <NODE1>

Sie können eine Datei auf mehrere Remote-Knoten gleichzeitig hochladen:

bolt file upload sample_file.txt /tmp/remotesample_file.txt --nodes 35.185.68.71,35.231.9.135

Viele Möglichkeiten, wie Sie sehen können.

Creating an Inventory file

Mit Bolt können Sie eine Inventardatei erstellen, in der Informationen zu Ihren Knoten, Aufgaben und Konfigurationen gespeichert werden. Sie können verschiedene Knoten in einer Gruppe angeben und die Inventardatei standardmäßig in der Datei inventar.yaml im Projektverzeichnis speichern. Hier ist ein Beispiel für die Erstellung einer Inventardatei.

---
# Example Inventory file
groups:
- name: Group of nodes
nodes:
- node1
- node2
- node3
config:
ssh:
host-key-check: false
ssl: false

Sie können diese Knoten1, Knoten2, Knoten3 durch Ihren tatsächlichen Knotendomänennamen oder die IP-Adresse Ihrer Knoten ersetzen. Sie können diese Inventardatei jetzt zu den Bolzenbefehlen hinzufügen, um Aufgaben auf den angegebenen Knoten auszuführen.

bolt command run <COMMAND> --inventoryfile ./inventory.yaml

Conclusion

Ich hoffe, Sie haben jetzt eine Vorstellung davon, was Bolt ist und wie es Ihnen bei der Automatisierung helfen kann. Sie könnten auch daran interessiert sein, etwas darüber zu lernen Marionette.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu DevOps
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder