Update documentation for clarity and consistency
All checks were successful
Build and Deploy Hugo / Deploy Hugo Website (pull_request) Successful in 24s

Remove emojis and em dash separators
Simplify introductory sentences
Standardize section headings
This commit is contained in:
Damien
2026-07-19 15:09:56 +02:00
parent 0edec585a7
commit 2d8830960b
22 changed files with 485 additions and 553 deletions

View File

@@ -8,11 +8,11 @@ cascade:
type: docs
---
## Introduction 📚
## Introduction
In this article, we're going to explore how to set up our very first Containerlab netlab using **DevPod**.
We'll focus on using a cloud provider, in this case **AWS**, to host our project.
Why the **Cloud**? Because network labs can consume a huge amount of resources, and we need to be able to deploy, stop, and destroy them quickly, both for performance and cost efficiency. 💡💰
In this article, we're going to set up our very first Containerlab netlab using **DevPod**.
We'll use a cloud provider, in this case **AWS**, to host our project.
Why the cloud? Because network labs can consume a huge amount of resources, and we need to deploy, stop, and destroy them quickly, both for performance and cost.
We'll achieve this by combining:
@@ -20,20 +20,17 @@ We'll achieve this by combining:
- **DevContainer**
- **Containerlab**
In addition, we'll use a simple topology that you can find on my [GitHub repository](https://github.com/darnodo/VXLAN-EVPN). Our main goal is to deploy this lab on AWS with DevPod.
Let's get to it! 🚀😊
We'll use a simple topology that you can find on my [GitHub repository](https://github.com/darnodo/VXLAN-EVPN). Our goal is to deploy this lab on AWS with DevPod.
## Prerequisites 🔧
## Prerequisites
Before starting, a few important steps need to be taken:
Before starting, a few things need to be in place:
1. **AWS Environment Authorization**:
Make sure DevPod is authorized to access your AWS environment. For a detailed guide on configuring DevPod with AWS, check out my article on this [topic](../../documentation/devpod/). 🔑
1. AWS environment authorization: make sure DevPod is authorized to access your AWS environment. For a detailed guide on configuring DevPod with AWS, check out my article on this [topic](../../documentation/devpod/).
2. **Containerlab Topology**:
We need a topology file that Containerlab can understand. In our case, we'll create a simple VXLAN topology. 🗺️
2. Containerlab topology: we need a topology file that Containerlab can understand. In our case, we'll create a simple VXLAN topology.
## Containerlab Topology 🔄
## Containerlab topology
Our lab will simulate a VXLAN topology consisting of:
@@ -82,7 +79,7 @@ topology:
- endpoints: ["leaf2:eth2", "host2:eth1"]
```
### Breaking Down the Topology 🧐
### Breaking down the topology
1. **Name and Structure**:
- `name: vxlan-evpn-irb` This is the name of the lab.
@@ -108,18 +105,17 @@ topology:
- `leaf1:eth2``host1:eth1`
- `leaf2:eth2``host2:eth1`
This topology represents a typical spine-leaf architecture, common in datacenters to enable Layer 2 and Layer 3 connectivity with VXLAN EVPN configurations. 🔗💻
This topology is a typical spine-leaf architecture, common in datacenters to enable Layer 2 and Layer 3 connectivity with VXLAN EVPN configurations.
## Deploying the Lab 🛠️
## Deploying the lab
We'll deploy the lab with **DevPod** in two ways:
### 1. Using the Repository 📥
### 1. Using the repository
1. **Validate the AWS Provider Configuration**:
Make sure your AWS provider is properly configured. More details [here](../../documentation/devpod/). ✅
1. Validate the AWS provider configuration: make sure your AWS provider is properly configured. More details [here](../../documentation/devpod/).
2. **Create a Workspace**:
2. Create a workspace:
- Go to the **Workspace** tab and click **Create Workspace**.
- Specify the **Workspace source**: use the [GitHub repository](https://github.com/darnodo/VXLAN-EVPN).
- Select **AWS** as the provider.
@@ -128,40 +124,33 @@ We'll deploy the lab with **DevPod** in two ways:
![DevPod Configuration](devpod_configuration.en.png#center)
### 2. Using a Local Folder 🗂️
### 2. Using a local folder
If you prefer to use your local repository:
- The only difference is in the **Workspace source**.
- Simply point it to your local repository.
If you prefer to use your local repository, the only difference is in the **Workspace source**: simply point it to your local repository.
![DevPod Configuration - Local](devpod_configuration_local.en.png#center)
## Starting the Lab 🎬
## Starting the lab
> [!WARNING] cEOS Images
> The lab uses **cEOS image v4.32.0.1F**.
> To download this image, head over to the [Arista download page](https://www.arista.com/en/support/software-download). ⚠️
> [!WARNING] cEOS images
> The lab uses **cEOS image v4.32.0.1F**.
> To download this image, head over to the [Arista download page](https://www.arista.com/en/support/software-download).
1. **Import the cEOS Image**:
Save the cEOS image into your `network_images` folder by dragging and dropping it into VSCode.
Import the image using the following command:
1. Import the cEOS image: save the cEOS image into your `network_images` folder by dragging and dropping it into VSCode. Import the image using the following command:
```bash
docker import network_images/cEOS64-lab-4.32.0.1F.tar.xz ceos:4.32.0.1F
```
2. **Deploy the Lab**:
Deploy the lab using Containerlab:
2. Deploy the lab using Containerlab:
```bash
sudo containerlab deploy -t lab_vxlan.yml
```
Follow the CLI instructions to configure your devices. For detailed configuration steps, check out [this guide](https://github.com/darnodo/VXLAN-EVPN/tree/main/documentation/eos_configuration). 🔧🖥️
Follow the CLI instructions to configure your devices. For detailed configuration steps, check out [this guide](https://github.com/darnodo/VXLAN-EVPN/tree/main/documentation/eos_configuration).
3. **Visualize the Architecture**:
Check the deployed topology using Containerlab's graphical view:
3. Visualize the architecture: check the deployed topology using Containerlab's graphical view.
```bash
containerlab graph -t lab_vxlan.yml
@@ -171,13 +160,13 @@ If you prefer to use your local repository:
![Graph View](Graph_view.en.png#center)
## Using EdgeShark 🦈
## Using EdgeShark
EdgeShark is a web tool that lets you capture packets from your lab environment. It forwards lab captures to Wireshark running locally. 📡🔍
EdgeShark is a web tool that lets you capture packets from your lab environment. It forwards lab captures to Wireshark running locally.
For more information, check out the [EdgeShark getting started guide](https://edgeshark.siemens.io/#/getting-started?id=optional-capture-plugin).
### Configuring EdgeShark in the DevContainer 🐳
### Configuring EdgeShark in the DevContainer
In the **DevContainer** configuration, the following `postCreateCommand` was added:
@@ -185,9 +174,9 @@ In the **DevContainer** configuration, the following `postCreateCommand` was add
sudo mkdir -p /opt/edgeshark && sudo curl -sL https://github.com/siemens/edgeshark/raw/main/deployments/wget/docker-compose.yaml -o /opt/edgeshark/docker-compose.yaml
```
This command downloads a Docker Compose file to make it easier to use EdgeShark. 🚀
This command downloads a Docker Compose file to make it easier to use EdgeShark.
### Launching EdgeShark
### Launching EdgeShark
To start EdgeShark, run:
@@ -198,22 +187,13 @@ DOCKER_DEFAULT_PLATFORM= docker compose up -d
Access EdgeShark via [localhost:5001](http://localhost:5001).
- **EdgeShark View**:
- EdgeShark view:
![EdgeShark View](edgeshark.en.png#center)
- **Integration with Wireshark**:
By clicking the Wireshark icon in EdgeShark, you can launch Wireshark locally.
![EdgeShark Interface](edgeshark_interface.en.png#center)
- Integration with Wireshark: clicking the Wireshark icon in EdgeShark launches Wireshark locally.
![EdgeShark Interface](edgeshark_interface.en.png#center)
![EdgeShark and Wireshark](edge_wireshark.en.png#center)
## Conclusion 🎉
## Conclusion
In this article, we walked through the steps to deploy a VXLAN EVPN lab using Containerlab, DevPod, and AWS. We covered the following key points:
- **Setting up the prerequisites** for AWS and Containerlab. 🔑
- **Creating a detailed topology file** for a spine-leaf architecture. 🗺️
- **Deploying the lab** using both a GitHub repository and a local folder. 📥🗂️
- **Starting the lab** with Docker and Containerlab. 🚀🐳
- **Using EdgeShark** to capture packets and integrate Wireshark for in-depth analysis. 🦈🔍
By following these steps, you'll be able to easily deploy and manage a scalable network lab environment in the cloud. Happy networking, and enjoy your lab adventures! 😄🎊
That covers the full setup: prerequisites, the VXLAN topology, deploying the lab with DevPod on AWS, and capturing traffic with EdgeShark and Wireshark. From here you have a working spine-leaf lab you can tear down and redeploy whenever you need it.

View File

@@ -8,11 +8,11 @@ cascade:
type: docs
---
## Introduction 📚
## Introduction
Dans cet article, nous allons explorer comment installer notre tout premier netlab Containerlab en utilisant **DevPod**.
Nous nous concentrerons sur l'utilisation d'un fournisseur cloud, en l'occurrence **AWS**, pour héberger notre projet.
Pourquoi le **Cloud** ? Parce que les labs réseau peuvent consommer énormément de ressources, et nous avons besoin de pouvoir les déployer, les arrêter et les détruire rapidement, tant pour la performance que pour l'efficacité financière. 💡💰
Dans cet article, nous allons installer notre tout premier netlab Containerlab en utilisant **DevPod**.
Nous utiliserons un fournisseur cloud, en l'occurrence **AWS**, pour héberger notre projet.
Pourquoi le cloud ? Parce que les labs réseau peuvent consommer énormément de ressources, et nous avons besoin de pouvoir les déployer, les arrêter et les détruire rapidement, tant pour la performance que pour le coût.
Nous y parviendrons en combinant :
@@ -20,20 +20,17 @@ Nous y parviendrons en combinant :
- **DevContainer**
- **Containerlab**
De plus, nous utiliserons une topologie simple que vous pouvez retrouver sur mon [dépôt GitHub](https://github.com/darnodo/VXLAN-EVPN). Notre objectif principal est de déployer ce lab sur AWS avec DevPod.
Allons-y, c'est parti ! 🚀😊
Nous utiliserons une topologie simple que vous pouvez retrouver sur mon [dépôt GitHub](https://github.com/darnodo/VXLAN-EVPN). Notre objectif est de déployer ce lab sur AWS avec DevPod.
## Prérequis 🔧
## Prérequis
Avant de commencer, quelques étapes importantes sont à réaliser :
Avant de commencer, quelques éléments doivent être en place :
1. **Autorisation de l'environnement AWS** :
Assurez-vous que DevPod est autorisé à accéder à votre environnement AWS. Pour un guide détaillé sur la configuration de DevPod avec AWS, consultez mon article sur ce [sujet](../../documentation/devpod/). 🔑
1. Autorisation de l'environnement AWS : assurez-vous que DevPod est autorisé à accéder à votre environnement AWS. Pour un guide détaillé sur la configuration de DevPod avec AWS, consultez mon article sur ce [sujet](../../documentation/devpod/).
2. **Topologie Containerlab** :
Nous avons besoin d'un fichier de topologie compréhensible par Containerlab. Dans notre cas, nous créons une topologie VXLAN simple. 🗺️
2. Topologie Containerlab : nous avons besoin d'un fichier de topologie compréhensible par Containerlab. Dans notre cas, nous créons une topologie VXLAN simple.
## Topologie Containerlab 🔄
## Topologie Containerlab
Notre lab simulera une topologie VXLAN comprenant :
@@ -82,7 +79,7 @@ topology:
- endpoints: ["leaf2:eth2", "host2:eth1"]
```
### Décryptage de la Topologie 🧐
### Décryptage de la topologie
1. **Nom et Structure** :
- `name: vxlan-evpn-irb` C'est le nom du lab.
@@ -108,18 +105,17 @@ topology:
- `leaf1:eth2``host1:eth1`
- `leaf2:eth2``host2:eth1`
Cette topologie représente une architecture spine-leaf typique, courante dans les datacenters pour permettre une connectivité en couche 2 et en couche 3 avec des configurations VXLAN EVPN. 🔗💻
Cette topologie est une architecture spine-leaf typique, courante dans les datacenters pour permettre une connectivité en couche 2 et en couche 3 avec des configurations VXLAN EVPN.
## Déployer le Lab 🛠️
## Déployer le lab
Nous allons déployer le lab avec **DevPod** de deux manières :
### 1. En Utilisant le Dépôt 📥
### 1. En utilisant le dépôt
1. **Valider la configuration du fournisseur AWS** :
Assurez-vous que votre fournisseur AWS est correctement configuré. Plus de détails [ici](../../documentation/devpod/). ✅
1. Valider la configuration du fournisseur AWS : assurez-vous que votre fournisseur AWS est correctement configuré. Plus de détails [ici](../../documentation/devpod/).
2. **Créer un Workspace** :
2. Créer un workspace :
- Rendez-vous dans l'onglet **Workspace** et cliquez sur **Create Workspace**.
- Indiquez la **source du Workspace** : utilisez le [dépôt GitHub](https://github.com/darnodo/VXLAN-EVPN).
- Sélectionnez **AWS** comme fournisseur.
@@ -128,40 +124,33 @@ Nous allons déployer le lab avec **DevPod** de deux manières :
![Configuration DevPod](devpod_configuration.fr.png#center)
### 2. En Utilisant un Dossier Local 🗂️
### 2. En utilisant un dossier local
Si vous préférez utiliser votre dépôt local :
- La seule différence se trouve dans la **source du Workspace**.
- Il vous suffit de le pointer vers votre dépôt local.
Si vous préférez utiliser votre dépôt local, la seule différence se trouve dans la **source du Workspace** : il suffit de le pointer vers votre dépôt local.
![Configuration DevPod - Local](devpod_configuration_local.fr.png#center)
## Démarrer le Lab 🎬
## Démarrer le lab
> [!WARNING] Images cEOS
> Le lab utilise l'**image cEOS v4.32.0.1F**.
> Pour télécharger cette image, rendez-vous sur la [page de téléchargement Arista](https://www.arista.com/en/support/software-download). ⚠️
> [!WARNING] Images cEOS
> Le lab utilise l'**image cEOS v4.32.0.1F**.
> Pour télécharger cette image, rendez-vous sur la [page de téléchargement Arista](https://www.arista.com/en/support/software-download).
1. **Importer l'image cEOS** :
Enregistrez l'image cEOS dans votre dossier `network_images` en la glissant-déposant dans VSCode.
Importez l'image en utilisant la commande suivante :
1. Importer l'image cEOS : enregistrez l'image cEOS dans votre dossier `network_images` en la glissant-déposant dans VSCode. Importez l'image en utilisant la commande suivante :
```bash
docker import network_images/cEOS64-lab-4.32.0.1F.tar.xz ceos:4.32.0.1F
```
2. **Déployer le Lab** :
Déployez le lab en utilisant Containerlab :
2. Déployer le lab en utilisant Containerlab :
```bash
sudo containerlab deploy -t lab_vxlan.yml
```
Suivez les instructions du CLI pour configurer vos périphériques. Pour des étapes de configuration détaillées, consultez [ce guide](https://github.com/darnodo/VXLAN-EVPN/tree/main/documentation/eos_configuration). 🔧🖥️
Suivez les instructions du CLI pour configurer vos périphériques. Pour des étapes de configuration détaillées, consultez [ce guide](https://github.com/darnodo/VXLAN-EVPN/tree/main/documentation/eos_configuration).
3. **Visualiser l'Architecture** :
Vérifiez la topologie déployée grâce à la vue graphique de Containerlab :
3. Visualiser l'architecture : vérifiez la topologie déployée grâce à la vue graphique de Containerlab.
```bash
containerlab graph -t lab_vxlan.yml
@@ -171,13 +160,13 @@ Si vous préférez utiliser votre dépôt local :
![Vue Graphique](Graph_view.fr.png#center)
## Utiliser EdgeShark 🦈
## Utiliser EdgeShark
EdgeShark est un outil web qui permet de capturer des paquets depuis votre environnement de lab. Il redirige les captures du lab vers Wireshark exécuté localement. 📡🔍
EdgeShark est un outil web qui permet de capturer des paquets depuis votre environnement de lab. Il redirige les captures du lab vers Wireshark exécuté localement.
Pour plus d'informations, consultez le [guide de démarrage d'EdgeShark](https://edgeshark.siemens.io/#/getting-started?id=optional-capture-plugin).
### Configuration d'EdgeShark dans le DevContainer 🐳
### Configuration d'EdgeShark dans le DevContainer
Dans la configuration du **DevContainer**, la commande `postCreateCommand` suivante a été ajoutée :
@@ -185,9 +174,9 @@ Dans la configuration du **DevContainer**, la commande `postCreateCommand` suiva
sudo mkdir -p /opt/edgeshark && sudo curl -sL https://github.com/siemens/edgeshark/raw/main/deployments/wget/docker-compose.yaml -o /opt/edgeshark/docker-compose.yaml
```
Cette commande télécharge un fichier Docker Compose pour faciliter l'utilisation d'EdgeShark. 🚀
Cette commande télécharge un fichier Docker Compose pour faciliter l'utilisation d'EdgeShark.
### Lancer EdgeShark
### Lancer EdgeShark
Pour démarrer EdgeShark, exécutez :
@@ -198,22 +187,13 @@ DOCKER_DEFAULT_PLATFORM= docker compose up -d
Accédez à EdgeShark via [localhost:5001](http://localhost:5001).
- **Vue d'EdgeShark** :
- Vue d'EdgeShark :
![Vue d'EdgeShark](edgeshark.fr.png#center)
- **Intégration avec Wireshark** :
En cliquant sur l'icône Wireshark dans EdgeShark, vous pouvez lancer Wireshark localement.
![Interface EdgeShark](edgeshark_interface.fr.png#center)
- Intégration avec Wireshark : cliquer sur l'icône Wireshark dans EdgeShark lance Wireshark localement.
![Interface EdgeShark](edgeshark_interface.fr.png#center)
![EdgeShark et Wireshark](edge_wireshark.fr.png#center)
## Conclusion 🎉
## Conclusion
Dans cet article, nous avons parcouru les étapes pour déployer un lab VXLAN EVPN en utilisant Containerlab, DevPod et AWS. Nous avons abordé les points clés suivants :
- **Mise en place des prérequis** pour AWS et Containerlab. 🔑
- **Création d'un fichier de topologie détaillé** pour une architecture spine-leaf. 🗺️
- **Déploiement du lab** en utilisant à la fois un dépôt GitHub et un dossier local. 📥🗂️
- **Démarrage du lab** avec Docker et Containerlab. 🚀🐳
- **Utilisation d'EdgeShark** pour capturer des paquets et intégrer Wireshark pour une analyse approfondie. 🦈🔍
En suivant ces étapes, vous pourrez déployer et gérer facilement un environnement de lab réseau évolutif dans le cloud. Bon networking et profitez bien de vos aventures en lab ! 😄🎊
Voilà pour l'ensemble de la mise en place : prérequis, topologie VXLAN, déploiement du lab avec DevPod sur AWS, et capture de trafic avec EdgeShark et Wireshark. Vous disposez maintenant d'un lab spine-leaf fonctionnel, que vous pouvez détruire et redéployer selon vos besoins.