Erste Schritte mit Ansible
Was ist Ansible?
Ansible ist ein Open-Source-Automatisierungstool, mit dem Sie IT-Aufgaben wie Konfigurationsverwaltung, Anwendungsbereitstellung und Infrastrukturbereitstellung automatisieren können. Es ist agentenlos, was bedeutet, dass keine zusätzlichen Softwarekomponenten auf den Zielsystemen installiert werden müssen. Stattdessen kommuniziert Ansible mit den Zielsystemen über die SSH (Secure Shell)- oder WinRM (Windows Remote Management)-Protokolle.
Warum Ansible nutzen?
Ansible bietet gegenüber herkömmlichen manuellen IT-Verwaltungsansätzen mehrere Vorteile:
- Einfachheit: Ansible verwendet eine einfache, menschenlesbare Sprache namens YAML (YAML Ain't Markup Language), um seine Automatisierungsaufgaben zu definieren. Dies erleichtert das Lernen und die Verwendung.
- Agentenlose Architektur: Ansible erfordert keine zusätzlichen Softwarekomponenten auf den Zielsystemen, wodurch die Komplexität und der Aufwand bei der Bereitstellung reduziert werden.
- Idempotenz: Die Aufgaben in Ansible sind so konzipiert, dass sie idempotent sind. Das bedeutet, dass sie mehrmals ausgeführt werden können, ohne dass es zu unbeabsichtigten Änderungen kommt.
- Skalierbarkeit: Ansible kann zur Verwaltung einer großen Anzahl von Systemen eingesetzt werden, von wenigen bis hin zu Tausenden, ohne dass es zu einem erheblichen Mehraufwand kommt.
- Flexibilität: Ansible unterstützt eine Vielzahl von Plattformen, darunter Linux, Windows, macOS und Cloud-Anbieter, was es zu einem vielseitigen Automatisierungstool macht.
Installation von Ansible
Um mit Ansible zu beginnen, müssen Sie es auf einem Kontrollknoten (dem System, von dem aus Sie Ihre Ansible-Befehle ausführen) installieren. So können Sie Ansible auf einem Ubuntu 22.04-System installieren:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
Nach der Installation von Ansible können Sie die Installation überprüfen, indem Sie den folgenden Befehl ausführen:
ansible --version
Dies sollte die auf Ihrem System installierte Version von Ansible anzeigen.
Herstellen einer Verbindung zu Zielhosts
Ansible kommuniziert mit Zielhosts (den Systemen, die Sie automatisieren möchten) über SSH. Um eine Verbindung zu einem Zielhost herzustellen, müssen Sie sicherstellen, dass der Kontrollknoten über SSH auf den Zielhost zugreifen kann. Sie können entweder SSH-Schlüssel oder Passwörter zur Authentifizierung beim Zielhost verwenden.
Hier ist ein Beispiel, wie Sie eine Verbindung zu einem Zielhost über SSH-Schlüssel herstellen können:
- Generieren Sie ein SSH-Schlüsselpaar auf dem Kontrollknoten:
ssh-keygen
- Kopieren Sie den öffentlichen Schlüssel auf den Zielhost:
ssh-copy-id user@target_host
- Überprüfen Sie die Verbindung, indem Sie den folgenden Befehl ausführen:
ansible all -m ping -i target_host,
Dieser Befehl sendet einen Ping an alle in der Inventar-Datei angegebenen Zielhosts (in diesem Fall einen einzelnen Host target_host
).
Nachdem Sie Ansible installiert haben und eine Verbindung zu Zielhosts herstellen können, sind Sie bereit, Ihre IT-Aufgaben mit Ansible-Playbooks zu automatisieren.