Lab Overview
This learning lab provides a comprehensive overview of VXLAN (Virtual Extensible LAN) technology, focusing on its implementation and management using the Nexus Dashboard. The lab is designed to help users understand the key concepts, configurations, and operational aspects of VXLAN in a network environment.
This document is a comprehensive guide to understanding Network as Code (NaC) which utilizes Infrastructure as Code (IaC) principles to manage configuration for Cisco Nexus Dashboard (ND). The focus of this guide is specific to the VXLAN EVPN fabric type. The guide is structured to provide a clear understanding of the concepts and tools involved to effectively manage and deploy a VXLAN EVPN fabric; combining the power of Infrastructure as Code automation concepts and Nexus Dashboard’s features and capabilities.
There are several sections in this guide; each section focusing on different aspects of Network as Code and Nexus Dashboard. It includes practical examples, best practices, and detailed explanations to help you understand the concepts. The guide is accompanied by a Cisco dCloud lab environment.
Guide details
This guide contains elements to assist you in making changes. The primary interface that you will be using is a web-based version of Visual Studio Code (known as Code Server) that is pre-configured with the necessary tools and extensions to work with Network as Code. This takes the role of a development environment (IDE - Integrated Development Environment) that you will use to modify the data model for Network as Code.
You will find in the guide both reference material for learning and then direct Steps
for you to follow. These steps can also include code snippets or CLI commands for you to copy and paste into your Code Server terminal. In the guide you will see elements as:
cd ~/network-as-code/nac-nd
That you can copy and paste easily via the button that appears when you hover over the code snippet. There is also screenshots of specific elements, including Nexus Dashboard to guide you on specific tasks.
Some of these commands that you copy seem redundant, but are designed such that the command always works even if you have changed directories, or explored different parts of the directory structure.
The guide is intended to be directional. Each section of the guide will provide you builds towards the next section and are all connected. The best approach is to follow the guide in order.
Table of Contents
This table of contents provides a view of the different sections of the guide and the respectove topics.
Step | Topic | Description |
---|---|---|
1 | Introduction to Infrastructure as Code | This section introduces the concept of Infrastructure as Code and its relevance to network automation. Understanding what Infrastructure as Code is compared to other methods of automation is a critical factor in comprehending the value that operators are pursuing with this capability. |
2 | Understanding Network as Code | This section explains the principles of Network as Code and how it applies to Infrastructure as Code for VXLAN in Nexus Dashboard. Network as Code has components that are standard capabilities across the portfolio, including pre-change and post-change validation tools. |
3 | Network as Code for Nexus Dashboard | This section provides an overview of the tools and technologies used in Network as Code for Nexus Dashboard. Network as Code for ND is a capability with unique requirements due to its Ansible underpinning. |
4 | dCloud Setup for Network as Code for ND | This section guides you through setting up the environment for dCloud that you will utilize for this guide. |
5 | Setup Network as Code for Nexus Dashboard | This section will go into the details of how you setup your environment for Network as Code Nexus Dashboard. |
6 | Building a ND Data Model | This section explains how to build a data model using Network as Code ND. As a Network engineer utilizing a declarative approach, the data model represents the primary focus area to define what is the intent of the configuration in the network. |
7 | Deploying a VXLAN EVPN Fabric with Network as Code | Once you have created the data model that represents the intended configuration state of Nexus Dashboard, you will deploy that configuration to Nexus Dashboard so that it deploys the configuration to the network switches. |
8 | Understanding Remove | How to fully integrate into declarative configuration, including deletion. |
9 | Integrated testing in Network as Code | One integral part of Infrastructure as Code is the inclusion of integrated testing to validate changes are pushed correctly into the controller, thus the network. Network as Code provides integrated testing that validates the configuration and operational state before and after changes to the network. |
10 | Overview of Automation Pipelines | Infrastructure as Code and automation pipelines go hand in hand. Due to the architecture of Network as Code, everything is designed to be operated from an automation pipeline. In this section you will learn the fundamentals of automation pipelines. |
11 | Automation Pipelines with Network as Code for ND | In this section, you will setup a working software pipeline for Network as Code ND to validate, stage, deploy, and test configuration changes. |