Einleitung
In diesem Artikel wird die automatisierte Erstellung einer Catalyst SD-WAN-Fabric in Cisco Modeling Labs (CML) mithilfe des Open-Source-Tools zur Laborbereitstellung beschrieben.
Hintergrundinformationen
Das SD-WAN Lab Deployment Tool automatisiert die Erstellung der SD-WAN-Fabric in CML und vereinfacht zahlreiche Arbeitsschritte, darunter das Hinzufügen von SD-WAN-Edge-Routern zur Fabric, die Zertifikatinstallation und andere Onboarding-Aufgaben.
Vor der Einführung des SD-WAN Lab Tools mussten Benutzer in CML manuell SD-WAN-Controller und Edge-Router bereitstellen. Weitere Informationen finden Sie unter .
Der gesamte Prozess ist vollständig automatisiert und dauert nur wenige Minuten statt mehrerer Stunden. In diesem YouTube-Video sehen Sie eine kurze Demo des Lab-Tools.
Die wichtigsten Vorteile der Tools für die Laborbereitstellung
- Vollautomatisierte Erstellung von SD-WAN-Controllern
- Hinzufügen mehrerer Zweigstellen mit SD-WAN-Edge-Routern in einer automatisierten Aufgabe
- Zwei SD-WAN-Transportnetze: Internet und MPLS
- Einführung von Latenz als WAN-Link-Emulation
- Backup- und Wiederherstellungsfunktionen
- Open Source Repo auf GitHub
- Die Cisco-interne Version des SD-WAN Lab-Tools wurde seit seiner Erstellung über 900 Mal in verschiedenen Unternehmen eingesetzt, darunter im Vertrieb, im CX (TAC und PS) und in der Geschäftseinheit. Weitere Informationen finden Sie in der internen Version von Cisco.
CML-Anforderungen für SD-WAN-Anwendungsfälle
- CML kann auf einem lokalen Server (Bare-Metal oder als VM auf ESXi) oder auf AWS bereitgestellt werden.
- Unterstützt Clustering zur Erhöhung der Kapazität.
- Für interne Cisco Benutzer: Lizenz erhältlich.
- Für externe Kunden: verschiedene Lizenzstufen hier verfügbar.
- Installationsanleitung (identisch für interne und externe Benutzer) finden Sie hier.
- Die empfohlene Option für die SD-WAN-Simulation: ein CML-Cluster vor Ort mit wenigen Servern.
Details zum SD-WAN Lab-Bereitstellungstool
- Das Tool wird derzeit auf Linux/MacOS-Systemen unterstützt, da ein Abhängigkeitspaket (pyats) nur für diese Systeme verfügbar ist.
- Um das Tool unter Windows auszuführen, benötigen Sie eine Linux VM/container oder Linux unter Windows mit WSL. Sie finden alle Abhängigkeiten in der
pyproject.toml Datei: https://github.com/cisco-open/sdwan-lab-deployment-tool/blob/main/pyproject.toml
- Siehe alle Installationsschritte, Verwendungsbeispiele und Quelltext auf GitHub.
- Stellen Sie sicher, dass die Netzwerkverbindung zwischen dem Host, auf dem das Lab Tool ausgeführt wird, und dem CML-Server bzw. -Cluster schnell genug ist. Dies hilft beim Hochladen des SW-Images der SD-WAN-Controller.
- Sie haben Fragen zum SD-WAN Lab Deployment Tool? Senden Sie eine E-Mail an cml-sdwan-lab-tool@external.cisco.com
Fehlerbehebung
Python-Versionskonflikt
Ab Ende April 2024 ist für die Lab-Tools Python-Version 3.9 erforderlich. Wenn Sie eine neuere Python-Version haben, kann die Installation fehlschlagen. Bitte beachten Sie, dass die Unterstützung für python 3.12 in Kürze verfügbar sein wird.
Beispiel einer fehlgeschlagenen Installation aufgrund der falschen Python-Version:
(venv) [csdwan] $ pip install --upgrade catalyst-sdwan-lab Collecting catalyst-sdwan-lab Downloading catalyst_sdwan_lab-2.0.9-py3-none-any.whl.metadata (20 kB) ... Downloading catalyst_sdwan_lab-2.0.6-py3-none-any.whl.metadata (20 kB) ERROR: Cannot install catalyst-sdwan-lab==2.0.6, catalyst-sdwan-lab==2.0.7, catalyst-sdwan-lab==2.0.8 and catalyst-sdwan-lab==2.0.9 because these package versions have conflicting dependencies. The conflict is caused by: catalyst-sdwan-lab 2.0.9 depends on pyats<24.0 and >=23.1 catalyst-sdwan-lab 2.0.8 depends on pyats<24.0 and >=23.1 catalyst-sdwan-lab 2.0.7 depends on pyats<24.0 and >=23.1 catalyst-sdwan-lab 2.0.6 depends on pyats<24.0 and >=23.1 To fix this you could try to: 1. loosen the range of package versions you've specified 2. remove package versions to allow pip attempt to solve the dependency conflict ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts (venv) [csdwan] $
Um das Problem zu beheben, können Sie Python 3.9 vor 3.12 in Ihren Umgebungsvariablen setzen, um zwischen verschiedenen Versionen ("pyenv global 3.9") oder Downgrade von 3.12 auf 3.9 zu wechselnpyenv.