Sobes.tech
Intern

Was ist Ansible?

sobes.tech KI

Antwort von AI

Ansible ist ein Open-Source-Tool zur Automatisierung der IT-Infrastruktur, das einfach zu bedienen ist. Es wird verwendet, um Server zu konfigurieren, Anwendungen bereitzustellen und Aufgaben zu orchestrieren.

Hauptmerkmale:

  • Agentenlos: Erfordert keine Installation von Agenten auf den verwalteten Knoten. Verwendet SSH (oder WinRM für Windows).
  • Idempotent: Operationen können mehrfach wiederholt werden, ohne den Endzustand zu ändern, wenn dieser bereits erreicht wurde.
  • Einfachheit: Verwendet YAML zum Schreiben von Playbooks, was sie lesbar und verständlich macht.
  • Module: Wird mit einer Vielzahl von Modulen geliefert, um verschiedene Aufgaben auszuführen (Pakete installieren, Dateien kopieren, Dienste verwalten usw.).
  • Erweiterbarkeit: Es ist einfach, eigene Module und Plugins zu erstellen.

Hauptkomponenten:

  • Control Node: Server, von dem aus Ansible-Befehle und -Playbooks ausgeführt werden. In der Regel Linux.
  • Verwaltete Knoten: Server oder Geräte, die mit Ansible verwaltet werden.
  • Inventar: Datei, die Ihre verwalteten Knoten beschreibt (IP-Adressen, Hostnamen, Gruppen).
    [webservers]
    web1.beispiel.com
    web2.beispiel.com
    
    [databases]
    db1.beispiel.com
    
  • Module: Module sind tatsächliche Codeeinheiten, die spezifische Aufgaben auf den verwalteten Knoten ausführen.
    - name: Nginx installieren
      ansible.builtin.apt:
        name: nginx
        state: present
    
  • Aufgaben: Eine Aufgabe ist ein Aufruf eines Moduls mit bestimmten Parametern. Aufgaben werden sequenziell ausgeführt.
  • Playbooks: Playbooks sind YAML-Dateien, die eine Reihe von Aufgaben enthalten, um ein bestimmtes Ziel zu erreichen. Sie beschreiben den gewünschten Systemzustand.
    ---
    - name: Produktions-Webserver konfigurieren
      hosts: webservers
      become: yes  # Aufgaben mit Sudo-Rechten ausführen
      tasks:
        - name: Neueste Version von Apache installieren
          ansible.builtin.yum:
            name: httpd
            state: latest
        - name: Sicherstellen, dass Apache läuft und beim Booten aktiviert ist
          ansible.builtin.service:
            name: httpd
            state: started
            enabled: yes
    
  • Rollen: Rollen sammeln Aufgaben, Variablen und Vorlagen in wiederverwendbare Strukturen.

Anwendungen:

  • Konfigurationsmanagement.
  • Anwendungsbereitstellung.
  • Infrastruktur-Provisionierung (z.B. Konfiguration virtueller Maschinen nach deren Erstellung).
  • Aufgabenorchestrierung (sequentielle Ausführung von Aktionen auf verschiedenen Knoten).
  • Automatisierung routinemäßiger Operationen.