[GITOPS_REPORT] Cisco Nexus Fabric Automation: Spine-Leaf Deployment via Ansible

[GITOPS_REPORT] Cisco Nexus Fabric Automation: Spine-Leaf Deployment via Ansible

Manuelle Konfigurationen auf Core-Switchen sind ein Single Point of Failure. In modernen Rechenzentren ist die Idempotenz der Infrastruktur die einzige Versicherung gegen Konfigurations-Drift. Dieser Bericht dokumentiert den Aufbau einer vollautomatisierten Cisco Nexus 9000v Fabric mittels Ansible.

1. Die Ziel-Architektur: 2-Tier Spine-Leaf (Clos)

Wir setzen auf eine klassische Clos-Topologie. Der Vorteil: Vorhersehbare Latenzen und horizontale Skalierbarkeit.

  • Hardware: Cisco Nexus 9000v (NX-OS 9.3.3)
  • Underlay: OSPF Area 0 für das Routing der Point-to-Point Links.
  • Redundanz: vPC (Virtual Port Channel) für loopfreie Layer-2 Konnektivität zu den Endgeräten.
  • Control Plane: Ansible Core via SSH.

2. Modularer Deployment-Workflow

Anstatt eines monolithischen Playbooks nutzen wir eine modulare Struktur. Das ermöglicht gezielte Eingriffe in spezifische Schichten des OSI-Modells, ohne die gesamte Fabric zu gefährden.

Phasen des Rollouts:

  1. Hardware-Check (01_nexus_hardware_check.yml): Validierung der Erreichbarkeit und Seriennummern-Abgleich.
  2. Layer 2 Base (02_nexus_vlan_config.yml): Provisionierung der globalen VLAN-Struktur.
  3. Identität & Routing (03_nexus_l3_loopbacks.yml & 04_nexus_deploy_ospf.yml): Router-IDs und OSPF-Prozesse.
  4. Fabric Links (05_nexus_build_underlay.yml): Konfiguration der P2P-Verbindungen zwischen Spine und Leaf.
  5. High Availability (08_nexus_deploy_vpc_domain.yml): Setup von vPC Keepalive und Peer-Links.

3. Disaster Recovery: Der "One-Liner" Restore

Der größte Vorteil von Infrastructure as Code (IaC) zeigt sich im Notfall. Sollte eine Fabric komplett gelöscht werden (POAP Mode), lässt sich der gesamte Cluster durch eine sequentielle Ausführung der Playbooks wiederherstellen.

# Full Restore der Fabric-Konnektivität
ansible-playbook 02_nexus_vlan_config.yml && \
ansible-playbook 03_nexus_l3_loopbacks.yml && \
ansible-playbook 05_nexus_build_underlay.yml && \
ansible-playbook 08_nexus_deploy_vpc_domain.yml

4. Variablen-Management (SSoT)

Die Logik ist strikt von den Daten getrennt. Alle spezifischen Parameter (IPs, VLANs, vPC-Rollen) liegen in den host_vars.

Beispiel für eine Spine-Leaf Kopplung:

p2p_links:
  - interface: Ethernet1/1
    neighbor_ip: 192.168.100.1
    mask: /30

Fazit

Automatisierung ist kein Luxus, sondern die Voraussetzung für Compliance und Stabilität in KRITIS-Umgebungen. Wer seine Fabric noch per Telnet oder manuellem SSH konfiguriert, hat die Kontrolle über seinen State bereits verloren.

Status: Production Ready
Maintainer: Dieter Bänisch

Read more