Update documentation for clarity and consistency
All checks were successful
Build and Deploy Hugo / Deploy Hugo Website (pull_request) Successful in 24s
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:
@@ -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:
|
||||
|
||||

|
||||
|
||||
### 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.
|
||||
|
||||

|
||||
|
||||
## 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:
|
||||
|
||||

|
||||
|
||||
## 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:
|
||||

|
||||
|
||||
- **Integration with Wireshark**:
|
||||
By clicking the Wireshark icon in EdgeShark, you can launch Wireshark locally.
|
||||

|
||||
- Integration with Wireshark: clicking the Wireshark icon in EdgeShark launches Wireshark locally.
|
||||

|
||||

|
||||
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user