94 lines
2.7 KiB
Markdown
94 lines
2.7 KiB
Markdown
# Projet d'Automatisation VXLAN EVPN
|
|
|
|
Ce projet vise à automatiser la création et la gestion d'un laboratoire de test VXLAN EVPN en utilisant ContainerLab, Arista cEOS, Cisco N9Kv, et Netbox. L'automatisation est réalisée principalement grâce à Ansible et des scripts Python.
|
|
|
|
🖋️ **_NOTE_**: L'environnement utilisé est un Debian 12 :
|
|
|
|
```bash
|
|
No LSB modules are available.
|
|
Distributor ID: Debian
|
|
Description: Debian GNU/Linux 12 (bookworm)
|
|
Release: 12
|
|
Codename: bookworm
|
|
```
|
|
|
|
## Table des matières
|
|
|
|
1. [Pré-requis](#pré-requis)
|
|
2. [Installation](#installation)
|
|
3. [Usage](#usage)
|
|
4. [Structure du projet](#structure-du-projet)
|
|
5. [Contributions](#contributions)
|
|
6. [Licence](#licence)
|
|
7. [Sources](#sources)
|
|
|
|
## Pré-requis
|
|
|
|
- Docker, ContainerLab et Ansible installés.
|
|
- Images pour Arista cEOS, Cisco N9Kv et Linux Alpine téléchargées.
|
|
- Python 3.11 avec les bibliothèques nécessaires (voir `requirements.txt`).
|
|
|
|
## Installation
|
|
|
|
1. **Clonez le dépôt** :
|
|
|
|
```bash
|
|
git clone https://github.com/MasqAs/projet-vxlan-automation.git
|
|
cd projet-vxlan-automation
|
|
```
|
|
|
|
2. **Installez les dépendances Python** :
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
3. **(Optionnel) Configurez les variables** :
|
|
|
|
Adaptez les variables dans `ansible/vars/main.yml` selon vos besoins.
|
|
|
|
4. **Lancez l'automatisation** :
|
|
|
|
Suivez les étapes dans [Usage](#usage) pour démarrer votre lab.
|
|
|
|
## Usage
|
|
|
|
1. **Mise en place du lab** :
|
|
|
|
```bash
|
|
sudo containerlab deploy --topo containerlab/lab_definition.yml
|
|
```
|
|
|
|
2. **Configurer Netbox** :
|
|
|
|
```bash
|
|
ansible-playbook ansible/playbooks/deploy_netbox.yml
|
|
```
|
|
|
|
3. **(Autres étapes)** :
|
|
|
|
Suivez les instructions supplémentaires dans `documentation/USAGE.md`.
|
|
|
|
## Structure du projet
|
|
|
|
- `/ansible/` - Contient tous les playbooks, rôles, variables, et inventaires d'Ansible.
|
|
- `/python-scripts/` - Scripts Python pour diverses tâches.
|
|
- `/containerlab/` - Définitions et configurations pour ContainerLab.
|
|
- `/configs/` - Configurations initiales pour les équipements réseau.
|
|
- `/documentation/` - Documentation détaillée du projet.
|
|
- `/suzieq/` - Fichiers spécifiques à SuzieQ.
|
|
|
|
Pour plus de détails, veuillez consulter `documentation/STRUCTURE.md`.
|
|
|
|
## Contributions
|
|
|
|
Les contributions sont les bienvenues ! Veuillez soumettre des pull requests ou ouvrir des issues pour toute suggestion ou correction.
|
|
|
|
## Licence
|
|
|
|
Ce projet est sous licence APACHE. Voir le fichier [LICENSE](LICENSE) pour plus d'informations.
|
|
|
|
## Sources
|
|
|
|
- [ContainerLab](https://containerlab.dev/manual/kinds/ext-container/)
|
|
- [The ACSII Construct](https://www.theasciiconstruct.com/post/multivendor-evpn-vxlan-l2-overlay/) |