Einführung
Dieses Tutorial führt Sie durch den Prozess der Installation von Ansible, einem leistungsstarken Open-Source-IT-Automatisierungswerkzeug, auf dem Ubuntu-Betriebssystem. Sie lernen, wie Sie Ansible einrichten und Ansible-Playbooks ausführen, um Ihre Infrastrukturverwaltungsaufgaben zu optimieren.
Ansible verstehen
Ansible ist ein Open-Source-Tool zur Bereitstellung von Software, Konfigurationsverwaltung und Anwendungsbereitstellung. Es ist darauf ausgelegt, einfach, leistungsstark und agentenlos zu sein, sodass Benutzer mehrere Remotesysteme gleichzeitig verwalten und konfigurieren können.
Was ist Ansible?
Ansible ist ein leistungsstarkes Automatisierungswerkzeug, mit dem Sie Ihre Infrastruktur, Anwendungen und Dienste deklarativ und idempotent verwalten können. Es verwendet eine einfache, menschenlesbare Sprache namens YAML, um den gewünschten Zustand Ihrer Systeme zu definieren, und führt dann die notwendigen Aufgaben aus, um diesen Zustand zu erreichen.
Hauptmerkmale von Ansible
- Agentenlos: Ansible benötigt keine spezielle Software oder Agenten auf den Remotesystemen. Es verwendet SSH (oder Windows Remote Management) zur Kommunikation mit den Zielsystemen.
- Deklarative Vorgehensweise: Ansible verwendet eine deklarative Vorgehensweise, bei der Sie den gewünschten Zustand Ihrer Systeme definieren und Ansible die notwendigen Schritte zur Erreichung dieses Zustands übernimmt.
- Idempotenz: Die Aufgaben von Ansible sind idempotent konzipiert, d. h. sie können mehrmals ausgeführt werden, ohne unerwünschte Änderungen zu verursachen.
- Modulares Design: Ansible verfügt über ein modulares Design mit einer Vielzahl integrierter Module, die für verschiedene Aufgaben verwendet werden können, z. B. die Verwaltung von Dateien, die Installation von Paketen oder die Interaktion mit Cloud-Diensten.
- Einfach und lesbar: Die YAML-basierte Sprache von Ansible ist einfach und leicht lesbar konzipiert, was sie sowohl für Entwickler als auch für Systemadministratoren zugänglich macht.
Anwendungsfälle von Ansible
Ansible kann für eine Vielzahl von Aufgaben verwendet werden, darunter:
- Infrastrukturbereitstellung
- Konfigurationsverwaltung
- Anwendungsbereitstellung
- Orchestrierung
- Sicherheit und Compliance
- Continuous Integration/Continuous Deployment (CI/CD)
Ansible-Architektur
Ansible verwendet eine Client-Server-Architektur, bei der der Ansible-Steuerknoten (der System, auf dem Ansible installiert ist) über SSH oder Windows Remote Management mit den Remote-Zielsystemen (die Systeme, die Sie verwalten möchten) kommuniziert.
graph TD
A[Ansible Control Node] -- SSH/WinRM --> B[Target System 1]
A -- SSH/WinRM --> C[Target System 2]
A -- SSH/WinRM --> D[Target System 3]
Der Ansible-Steuerknoten führt die notwendigen Aufgaben auf den Zielsystemen aus, und die Zielsysteme melden die Ergebnisse an den Steuerknoten zurück.
Ansible auf Ubuntu installieren
Voraussetzungen
Bevor Sie Ansible installieren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
- Ubuntu 22.04 LTS System
- Python 3 installiert
- sudo- oder Root-Rechte
Ansible installieren
- Aktualisieren Sie das Paketindex:
sudo apt update
- Installieren Sie die benötigten Pakete:
sudo apt install software-properties-common
- Fügen Sie das Ansible PPA (Personal Package Archive) zur Quellenliste Ihres Systems hinzu:
sudo add-apt-repository --yes --update ppa:ansible/ansible
- Installieren Sie Ansible:
sudo apt install ansible
- Überprüfen Sie die Installation:
ansible --version
Sie sollten die Ansible-Versionsinformationen angezeigt bekommen.
Ansible konfigurieren
- Erstellen Sie eine Ansible-Inventardatei:
sudo nano /etc/ansible/hosts
Fügen Sie die Zielhosts der Inventardatei hinzu, zum Beispiel:
[webservers]
192.168.1.100
192.168.1.101
[databases]
192.168.1.200
192.168.1.201
- Erstellen Sie eine Ansible-Konfigurationsdatei:
sudo nano /etc/ansible/ansible.cfg
Fügen Sie die gewünschten Konfigurationsoptionen hinzu, zum Beispiel:
[defaults]
inventory = /etc/ansible/hosts
remote_user = ubuntu
- Testen Sie die Ansible-Verbindung:
ansible all -m ping
Dieser Befehl sendet Pings an alle Hosts in der Inventardatei und überprüft die Verbindung.
Nun haben Sie Ansible erfolgreich auf Ihrem Ubuntu 22.04 System installiert und konfiguriert, um Ihre Zielhosts zu verwalten.
Ausführen von Ansible Playbooks
Was ist ein Ansible Playbook?
Ein Ansible Playbook ist eine YAML-Datei, die den gewünschten Zustand Ihrer Infrastruktur oder Anwendung definiert. Es enthält eine Sammlung von Aufgaben, die in einer bestimmten Reihenfolge ausgeführt werden, um den gewünschten Zustand zu erreichen.
Aufbau eines Ansible Playbooks
Ein grundlegendes Ansible Playbook besteht aus folgenden Elementen:
- Hosts: Die Zielhosts oder -gruppen, auf denen das Playbook ausgeführt wird.
- Tasks: Die Aktionen, die Ansible auf den Zielhosts ausführt.
- Variablen: Werte, die im gesamten Playbook verwendet werden können.
- Handlers: Aufgaben, die von anderen Aufgaben ausgelöst werden.
Hier ist ein Beispiel für ein Ansible Playbook, das den Apache-Webserver auf einer Gruppe von Ubuntu-Hosts installiert:
- hosts: webservers
tasks:
- name: Apache installieren
apt:
name: apache2
state: present
- name: Apache starten
service:
name: apache2
state: started
enabled: yes
Ausführen eines Ansible Playbooks
Um ein Ansible Playbook auszuführen, gehen Sie folgendermaßen vor:
- Speichern Sie das Playbook in einer Datei, z. B.
apache.yml. - Führen Sie das Playbook mit dem Befehl
ansible-playbookaus:
ansible-playbook apache.yml
Dies führt die im Playbook definierten Aufgaben auf den Zielhosts aus.
Optionen für die Playbook-Ausführung
Sie können die Ausführung des Playbooks durch verschiedene Optionen anpassen, z. B.:
- Limit: Führen Sie das Playbook auf einem bestimmten Host oder einer bestimmten Gruppe aus.
ansible-playbook apache.yml -l webservers - Check: Führen Sie eine Trockenübung durch, um zu sehen, welche Änderungen vorgenommen würden.
ansible-playbook apache.yml --check - Become: Führen Sie das Playbook mit erhöhten Rechten aus.
ansible-playbook apache.yml --become
Durch das Verständnis und die Verwendung von Ansible Playbooks können Sie die Bereitstellung und Konfiguration Ihrer Infrastruktur und Anwendungen auf Ubuntu-Systemen einfach automatisieren.
Zusammenfassung
Am Ende dieses Tutorials verfügen Sie über ein fundiertes Verständnis von Ansible und seinen Fähigkeiten sowie das Wissen, Ansible auf Ihrem Ubuntu-System zu installieren und die Verwaltung Ihrer Infrastruktur mithilfe von Ansible Playbooks zu automatisieren.


