Using the CloudEOS and vEOS Router Appliance on Microsoft Azure
The CloudEOS and vEOS Router Appliance, which is based on the Arista EOS, runs as a virtual machine instance on Azure. Use the CloudEOS and vEOS Router Appliance to create the various types of virtual machine router instances you need for your Azure deployment. For example, gateway routers and transit routers.
CloudEOS and vEOS Router Appliance Image Updates
The process you use to update CloudEOS and vEOS Router Appliance images is the standard update process used for EOS images.
For details on the steps to use, refer to the Arista EOS User Manual, see https://www.arista.com/en/support/product-documentation.
System Requirements
Describes the CloudEOS and vEOS Router Appliance Azure minimum support requirements.
The CloudEOS and vEOS Router Appliance Azure instance supports the following instance types:
- D2_v3 with 2 cores, 8.0GiB RAM, 2 NICs (1,000 Mbps), and a 4GB OS disk.
- D4_v3 with 4 cores, 16.0GiB RAM, 2 NICs (2,000 Mbps), and a 4GB OS disk.
- D8_v3 with 8 cores, 32.0GiB RAM, 4 NICs (4,000 Mbps), and a 4GB OS disk.
- D16_v3 with 16 cores, 64.0GiB RAM, 8 NICs (8,000 Mbps), and a 4GB OS disk.
Launching the CloudEOS and vEOS Router Appliance Azure Instance
There are two methods which can be used to launch a CloudEOS and vEOS Router Appliance instance.
Below is a summary of each method.
- Portal Marketplace: This method launches an instance using the Azure Portal Marketplace UI.
- Azure CLI 2.0: This method launches an instance using a custom template through the Azure CLI 2.0. The primary advantage of a CLI deployment is the ability to include custom-data and customize your deployment.
Do not deploy the same template twice into a single resource group, because this creates name conflicts. To deploy multiple instances into the same resource group, modify the template, so all resources are renamed, and all IP addresses are unique.
Creating an Instance using the Portal Marketplace
To create an instance using the Portal Marketplace, complete the following steps.
Creating an Instance under Azure CLI 2.0
To create an instance under Azure CLI 2.0, complete the following steps.
- Install Azure CLI 2.0 (https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest).
- Run az login and follow the prompts to authorize the machine.
- Download the template and parameters files from the GitHub repository. https://github.com/Azure/azure-quickstart-templates.
- Open <prefix>-parameters.json:. Locate the ./single_line_json.sh user_data.txt script.
- Copy and paste the generated output into the customData value field of the JSON parameters file.
- Use the script as in the following example:
#!/usr/bin/bash cat $1 | python -c 'import json, sys; print( json.dumps( sys.stdin.read() ) )'
- Use the template and parameters JSON files to launch a vEOS Router instance in Azure using the Azure CLI 2.0.
$ az group create --name ExampleGroup --location "Central US"
Note: You must use the same location as the storage account where the VHD image is uploaded.$ az group deployment create \ --name ExampleDeployment \ --resource-group ExampleGroup \ --template-file <prefix>-template.json \ --parameters @<prefix>-parameters.json
Note: If you are using a newer version of the Azure CLI 2.0, you may encounter a parameter file parsing bug. To fix this, remove the @ symbol before the parameters filename.
Logging into an Instance
To log into an instance, complete the following steps.
CloudEOS and vEOS Router Startup-Configuration using Instance Custom-Data
Describes launch employing custom-data information.
During the initial launching of the CloudEOS and vEOS Router Instance, Azure provides a feature to upload custom-data. The administrator can upload the CloudEOS and vEOS Router configuration using custom-data at the time of the launching of the CloudEOS and vEOS Router Instance.
Custom-data can be used to pass in configuration for multiple entities. This configuration must be separated by start and end markers.
Entity | Markers | File Path |
---|---|---|
CloudEOS and vEOS CLI configuration file |
|
N/A |
Cloud HA configuration file |
|
/mnt/flash/cloud_ha_config.json |
Note, the following regarding the custom-data.
- Markers must be at the beginning of the line.
- The user is expected to have tested the configurations on a live system before using the configurations to deploy the new CloudEOS and vEOS Router. Mis-configuration may result in an unrecoverable instance.
- The CloudEOS and vEOS Router configuration for all interfaces can be passed in during deployment. The configuration takes effect as the new instances attach to the CloudEOS and vEOS Router.
Sample Instance Custom-Data
Illustrates a sample Instance with custom-data.
%EOS-STARTUP-CONFIG-START%
! EOS startup config
username admin nopassword
username admin sshkey file flash:key.pub
%EOS-STARTUP-CONFIG-END%
Providing Startup-Configuration using Azure Custom-Data
Adding custom-data to an instance.
Currently, custom-data can only be used on instances deployed using the Azure CLI 2.0.
In order to add custom-data to an instance, the custom-data must be provided as a single-line value with '\n' delimiting newlines.
Use the single_line_json.sh script to convert your custom-data into this format.
#!/usr/bin/bash
cat $1 | python -c 'import json, sys; print( json.dumps( sys.stdin.read() ) )'
Usage of the script is as follows:
./single_line_json.sh user_data.txt
Copy and paste the generated output into the customData value field of the JSON parameters file.
Troubleshooting Instance
To troubleshoot the instance, complete the following steps.
Resources
Additional resources.
- How To: Deploy Azure Virtual Machines With An Azure Resource Manager (ARM) Template https://www.youtube.com/watch?v=wi74jR0MRLg.
- How To Deploy Resources https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-deploy-cli.