Ansible für Catalyst at Scale: Idempotente Deployments & Diff-Checks

In großen Netzwerkinfrastrukturen ist die Automatisierung von Konfigurationsmanagement und das gezielte Deployment von Netzwerkinfrastrukturen unerlässlich. Mit Ansible können Netzwerkingenieure die Verwaltung von Cisco Catalyst Switches skalierbar und effizient durchführen. Ansible ermöglicht idempotente Deployments, wodurch Konfigurationsänderungen sicher und wiederholbar sind. In diesem Artikel gehen wir auf den Einsatz von Ansible für Catalyst Switches ein und erklären, wie idempotente Deployments und Diff-Checks eingesetzt werden, um eine fehlerfreie Konfiguration sicherzustellen.

Was ist Ansible und warum für Catalyst?

Ansible ist ein Open-Source-Automatisierungstool, das zur Konfiguration von Netzwerken, Softwarebereitstellungen und zur Orchestrierung von IT-Infrastrukturen verwendet wird. Durch seine einfache Syntax und den deklarativen Ansatz eignet sich Ansible hervorragend für das Management von Cisco Catalyst Switches. Insbesondere ermöglicht es, Konfigurationsänderungen sicher und reproduzierbar durchzuführen, ohne manuelle Fehler zu riskieren.

1. Vorteile von Ansible für Netzwerkinfrastrukturen

  • Idempotenz: Ansible-Playbooks sind idempotent, das bedeutet, dass sie dieselbe Konfiguration wiederholt anwenden können, ohne negative Auswirkungen zu haben.
  • Skalierbarkeit: Ansible ermöglicht es, Tausende von Geräten gleichzeitig zu konfigurieren.
  • Einfache Integration: Ansible kann problemlos in bestehende DevOps-Umgebungen integriert werden und unterstützt eine Vielzahl von Netzwerkprotokollen und Geräten, einschließlich Cisco Catalyst.
  • Automatisierung: Durch die Automatisierung des Netzwerkmanagements werden menschliche Fehler reduziert und die Effizienz gesteigert.

Idempotente Deployments mit Ansible

Ein idempotentes Deployment bedeutet, dass die Anwendung einer Konfiguration mehrere Male dasselbe Ergebnis liefert. Dies ist entscheidend, um sicherzustellen, dass Konfigurationsänderungen ohne unerwünschte Nebeneffekte angewendet werden können. Ansible-Playbooks gewährleisten diese Idempotenz durch den Einsatz von “Check Mode”, der überprüft, ob eine Änderung bereits durchgeführt wurde, bevor sie erneut angewendet wird.

1. Beispiel für ein idempotentes Ansible-Playbook

Im folgenden Beispiel erstellen wir ein einfaches Ansible-Playbook, das eine VLAN-Konfiguration auf einem Cisco Catalyst Switch bereitstellt. Das Playbook stellt sicher, dass die VLANs nur einmal erstellt werden, selbst wenn es mehrfach ausgeführt wird.

---
- name: Create VLAN on Catalyst Switch
  hosts: cisco_switches
  gather_facts: no
  tasks:
    - name: Ensure VLAN 10 exists
      cisco.ios.ios_vlan:
        vlan_id: 10
        name: "VLAN 10"
        state: present
    - name: Ensure VLAN 20 exists
      cisco.ios.ios_vlan:
        vlan_id: 20
        name: "VLAN 20"
        state: present

2. Check Mode verwenden

Im Check Mode wird das Playbook ausgeführt, ohne dass tatsächliche Änderungen an den Geräten vorgenommen werden. Dies hilft, die Auswirkungen der Konfiguration vor der Ausführung zu prüfen:

ansible-playbook -C your_playbook.yml

Diff-Checks: Sicherstellen, dass Änderungen korrekt angewendet wurden

Ein weiterer wichtiger Aspekt bei der Verwaltung von Netzwerkkonfigurationen ist die Überprüfung von Unterschieden (Diffs) zwischen der aktuellen und der gewünschten Konfiguration. Mit Ansible können Diff-Checks genutzt werden, um sicherzustellen, dass Änderungen erfolgreich angewendet wurden und keine ungewollten Abweichungen bestehen.

1. Beispiel für Diff-Check in Ansible

Im folgenden Beispiel wird gezeigt, wie du die Unterschiede zwischen der aktuellen Konfiguration und der gewünschten Konfiguration auf einem Cisco Catalyst Switch mit Ansible überprüfen kannst:

---
- name: Check configuration diff
  hosts: cisco_switches
  gather_facts: no
  tasks:
    - name: Check VLAN configuration
      cisco.ios.ios_config:
        src: vlan_config.txt
        diff: yes

In diesem Beispiel wird eine Konfigurationsdatei (vlan_config.txt) auf dem Switch überprüft, und Ansible zeigt nur die Unterschiede zur aktuellen Konfiguration an.

Fehlerbehebung und Troubleshooting mit Ansible

Die Verwendung von Ansible für die Konfiguration von Catalyst Switches vereinfacht das Troubleshooting erheblich, da es eine klare und nachvollziehbare Protokollierung der Konfigurationsänderungen bietet. Außerdem können Playbooks jederzeit erneut ausgeführt werden, um Probleme zu lösen oder die Konfiguration wiederherzustellen.

1. Protokollierung und Fehleranalyse

Ansible bietet detaillierte Logs, die bei der Fehleranalyse helfen. Diese Logs können verwendet werden, um festzustellen, warum ein Playbook nicht wie erwartet ausgeführt wurde.

ansible-playbook your_playbook.yml -vvv

2. Wiederherstellung der Konfiguration

Falls ein Fehler auftritt, kannst du einfach das Ansible-Playbook erneut ausführen, um die ursprüngliche Konfiguration wiederherzustellen. Dank der Idempotenz von Ansible wird die Konfiguration ohne zusätzliche Änderungen angewendet, wenn sie bereits korrekt ist.

Best Practices für Ansible in großen Netzwerken

  • Verwende Gruppen und Inventare: Organisiere deine Switches in Ansible-Inventaren und Gruppen, um Playbooks gezielt auf verschiedene Gerätegruppen anzuwenden.
  • Verwende Parameter und Variablen: Parameter und Variablen ermöglichen eine flexible und dynamische Konfiguration, die je nach Umgebung angepasst werden kann.
  • Testen im Check Mode: Verwende den Check Mode, um sicherzustellen, dass deine Playbooks wie erwartet funktionieren, bevor sie live geschaltet werden.
  • Verwende Versionierung: Nutze Git oder ähnliche Tools, um Ansible-Playbooks und -Konfigurationen zu versionieren und Änderungen nachzuvollziehen.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab (CCNA)

Hallo! Ich bin ein CCNA-Network Engineer und unterstütze Sie bei Cisco Router- und Switch-Konfigurationen – inklusive eines vollständigen Cisco Packet-Tracer-Labs (.pkt). Ideal für Lern-/Übungsszenarien, Validierung oder eine saubere Demo-Topologie.

Was ich (je nach Paket) umsetze

  • Switching: VLANs, Trunking (802.1Q), Port-Zuweisung, STP-Basics (PortFast/BPDU Guard wo sinnvoll)

  • Routing: Default/Static Routing oder OSPF, Inter-VLAN Routing (Router-on-a-Stick)

  • Services: DHCP (Pools/Scopes), NAT/PAT für Internet-Simulation

  • Optional Security: Basic ACLs und SSH-Hardening

  • Test & Verifikation: Ping/Traceroute + wichtige Show-Commands (mit erwarteten Ergebnissen)

Sie erhalten

  • Packet Tracer .pkt Datei

  • ✅ Saubere Konfigurations-Notizen pro Gerät

  • ✅ Verifikations-Checkliste + erwartete Outputs

  • ✅ Kurze Dokumentation (wie die Topologie funktioniert)

Bitte schreiben Sie mir vor der Bestellung, damit wir Scope, Packet-Tracer-Version, Geräteanzahl und Deadline klären.

Konfiguriere Cisco Router & Switches | Cisco Packet-Tracer-Labs. Finden Sie mich auf Fiverr.

Related Articles