Install on Azure
For supported software information, click here.
To install the Versa headend components on Microsoft Azure, you upload the Versa software images to the Azure portal and then you create virtual machines (VMs) for the Versa headened components. Versa Networks provides Terraform template files that you can use to automate the deployment of these components. You can also use other methods to deploy the components, such as Azure Portal, Azure CLI, and Azure ARM templates.
Upload Versa Images to Azure Portal
Before you upload the Versa software images to the Azure portal, ensure that you have the following:
- Valid Microsoft Azure subscription
- Administrator or co-administrator credentials to the Azure management portal
To upload the Versa software images to the Azure portal:
- Log in to the Azure portal.
- In the left menu bar, click Storage Accounts.
- In the Storage Accounts menu bar, click the + Add icon. The Create Storage Account window displays.
- In the Subscription field, select the subscription in which you want to create the storage account.
- Select Resource Group or create new Resource Group where you want to create the storage account.
- In the Storage Account Name field, enter a name for the storage account name.
- In the Location field, select the location.
- In the Account Kind field, select either Storage V2 (General Purpose V2) or Storage (General Purpose V1). Do not select BlobStorage.
- Click Review + Create button to create a new storage account to store the Versa component images.
A confirmation window displays.
- In the Storage Accounts menu bar, click the newly created storage account. The storage account's window displays.
- Generate an SAS token:
- In the storage account's menu bar, click the Shared Access Signature option.
- In the Allowed Resource Types field, select all options.
- In the Start Date field, select the date that is one day before the current date.
- In the End Date field, select the date that is two days after the current date, to avoid having the upload operation expire if it is being performed across different time zones.
- Keep all other options at the default values.
- Click Generate SAS and Connection String to generate the SAS token.
- Copy the generated SAS token (the second option on the screen, as highlighted in the screenshot below) to the clipboard to avoid any copy-and-paste errors.
- In the storage account's menu bar, click the Shared Access Signature option.
- Select the storage account that you created in Step 3. In the storage account's menu bar, select Containers. The Containers window displays.
- Click the + Container icon to add a container in which to store the Versa images.
- In the Name field, enter a name for the container.
- In the Public Access Level field, select Private access to the container.
- Click OK to create the container.
- The Container window displays. In the Container Properties menu, make a note of the container's URL, which is shown in the URL field.
- In the storage account's menu bar, select Firewalls and Virtual Networks. In the Allow Access From field, ensure that All Networks is selected.
- Provide Versa Customer Support with the SAS token generated in Step 5, the URL of the container obtained in Step 7, and the required software version to install Versa headend components. Versa using this information to transfer the Azure VHD image to the customer's storage account, which you use in the next step to create an image.
- After Versa has transferred the VHD into the customer's account, create the image from that VHD.
- In the Azure portal's main menu, click the Images option.
- In the Images menu bar, click the + Add icon. The Create Image window displays.
- In the Name field, enter a name for the image.
- In the Subscription field, select the subscription to which Versa transferred the Azure VHD images.
- In the Resource Group field, select the resource group or create a new resource group.
- In the Location field, select the region name where you want to create the image. Ensure that you use the same region where you created the storage account and where Versa transferred the images.
- In the OS Disk field, click Linux.
- In the VM Generation field, select Gen 1. Do not select Gen 2.
- In the Storage Blob field, click Browse.
- Navigate to Storage account > Containers.
- Select the container to which Versa transferred the VHD images.
- Select the VHD image and click Select.
- Select the Account type as Standard HDD or SSD.
- Click the Create button. The Images window lists the newly created image.
Create VMs for Versa Headend Components
Versa Networks provides Terraform template files that you can use to automate the deployment of the Versa headend components. Terraform is a single-pane cloud infrastructure deployment tool. It provides an automated deployment method that eases the manual efforts if, for example, you are using Azure Portal, which does not allow you to add more than one NIC when you initially install a VM.
You can also use other methods to deploy the headend components, such as Azure Portal, Azure CLI, and Azure ARM templates. For information about the benefits of using Terraform templates and comparing the deployment methods, see the Terraform documentation.
This section describes how to use Terraform templates to automatically create VMs for Versa headend components.
Before you begin:
- Obtain the Terraform template files from Versa Networks Customer Support. When requesting the template, specify whether you are using a standalone or a redundant headend topology. The figures below illustrate the topologies created by the Terraform template. You can also obtain the Terraform template files the public repository hosted by Versa Networks, at https://gitlab.com/versa-networks/terraform-azure-headend-deployment (for headend deployments) and https://gitlab.com/versa-networks/terraform-azure-flexvnf-deployment (for branch deployments).
- Install Terraform on your system. For information, see the Download Terraform article on the Terraform website.
- Set up Terraform access to Azure to enable Terraform to provision resources into Azure. For information, see the Microsoft Azure articles on the Microsoft website.
- Obtain subscription ID, client ID, client secret, and tenant ID for logging in to Terraform.
- Obtain Terraform Contributor-level user permission so that you can run the template.
- Obtain images for the Versa headend components—Versa Director, Versa Analytics, and Versa Controller—from Versa Networks Customer Support in .vhd format and create images using those .VHD files.
The following figure illustrates the standalone headend topology created by the Terraform template. The Terraform template provisions resource groups, networks, and Versa headend instances, and it assigns networks to the instances. In this figure:
- For MGMT_NETWORK, the management IP is assigned using this network, and the public IP addresses assigned are associated with the three ports to the three Versa headend components.
- For Director-Controller-VAN_Network, the Director_SB, Controller_NB, and Analytics_NB IP addresses are assigned using this network. (SB is southbound, and NB is northbound.)
- For Controller-Branch_Network, the Controller_SB IP address is assigned using this work. This IP address is used to connect to the branch. The public IP address is also assigned on the Controller WAN port.
The following figure illustrates the redundant (high availability) headend topology created by the Terraform template.
To create VMs using Terraform templates:
- Save the folder that contains the Terraform template files to the system on which Terraform is installed. The template folder contains the files needed to deploy the Versa headend VM resources on Azure. The table at the end of this section describes each of the files.
- If you want to make changes to any of the template files, for example, if you want to run another instance of Terraform, make a copy of the original folder and make your changes in the copy. It is recommended that you do not make any changes to the files in the original template folder.
- Open a console window on the local system where Terraform was installed. Go to the folder where all the required files are placed from the console window.
- Initialize Terraform. The initialization process downloads the Terraform plugins that are required to run the template.
~$ terraform init
- Display all the resources provisioned as part of the template:
~$ terraform plan
- Run the template to deploy all the VM resources on Azure:
~$ terraform apply
The following table describes the contents of each Terrform template file and the actions performed by each file.
Filename | Description or Action |
---|---|
main.tf |
|
var.tf | Provide definitions of all variables defined and used in the template. Do not make any changes to this file. |
terraform.tfvars |
User-defined input variables that are used to populate the Terraform templates. Edit this file to set or change the following variables:
|
output.tf | Output parameters, including management IP address, public IP address, CLI commands, and UI login information, for all instances. Do not make any changes to this file. |
director.sh | Bash script that runs as part of cloud-init script on the Versa Director instance. Do not make any changes to this file. |
controller.sh | Bash script that runs as part of cloud-init script on Versa Controller instance. Do not make any changes to this file. |
van.sh | Bash script that runs as part of cloud-init script on Versa Analytics instance. Do not make any changes to this file. |
Deploy a VOS Device as a Branch Using Terraform Templates
This section describes how to use Terraform templates to automatically deploy a Versa Operating SystemTM (VOSTM) device as a branch. You obtain the Terraform template files from Versa Networks Customer Support. To deploy a VOS device as a branch, ask for the Versa_FlexVNF_SingleBranch_Staging.zip file, which contains the Terraform templates for the branch deployment.
To deploy a VOS device as a branch using Terraform templates, follow Step 1 to Step 6 as described in Create VMs for Versa Headend Components.
The following table describes the contents of each Terraform template file and the actions performed by each file.
Filename | Description or Action |
---|---|
vars.tf | Definitions of all variables defined and used in the template. Do not make any changes to this file. |
terraform.tfvars |
User-defined input variables that are used to populate the Terraform templates. Edit this file to set or change the following variables:
|
output.tf | Output parameters, including management IP address, public IP address, WAN IP address, LAN IP address, and CLI commands, for all instances. Do not make any changes to this file. |
flexvnf.sh | Bash script that runs as part of cloud-init script on the VOS instance. Do not make any changes to this file. |
main.tf |
|
Supported Software Information
Releases 20.2 and later support all content described in this article.