Ansible auf Ubuntu installieren

AnsibleAnsibleBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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

  1. Aktualisieren Sie das Paketindex:
sudo apt update
  1. Installieren Sie die benötigten Pakete:
sudo apt install software-properties-common
  1. Fügen Sie das Ansible PPA (Personal Package Archive) zur Quellenliste Ihres Systems hinzu:
sudo add-apt-repository --yes --update ppa:ansible/ansible
  1. Installieren Sie Ansible:
sudo apt install ansible
  1. Überprüfen Sie die Installation:
ansible --version

Sie sollten die Ansible-Versionsinformationen angezeigt bekommen.

Ansible konfigurieren

  1. 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
  1. 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
  1. 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:

  1. Speichern Sie das Playbook in einer Datei, z. B. apache.yml.
  2. Führen Sie das Playbook mit dem Befehl ansible-playbook aus:
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.