Install on Google Cloud Platform
For supported software information, click here.
To install the Versa headend components on the Google Cloud Platform in standalone mode, you upload the Versa software images to the Google Cloud portal, and then you use the Terraform templates to create virtual machines (VMs) for the Versa headend components. You obtain the Terraform template files the public repository hosted by Versa Networks, at https://gitlab.com/versa-networks/terraform-templates-gcp-he (for headend deployments) and https://gitlab.com/versa-networks/devops/-/tree/master/terraform/automation/GCP (for branch deployments).
This article describes how to use Terraform templates to automatically create VMs for Versa headend components on Google Cloud Platform.
Headend Topology Created by Terraform Template
The following figure illustrates the standalone headend topology created by the Terraform template. The Terraform template provisions networks and Versa headend instances, and it assigns networks to the instances.
- For MGMT_NETWORK, the management IP address is assigned using this network. The public IP addresses assigned are associated with the three ports to the three Versa headend components.
- For Director-Controller-VAN_Network, the Director southbound, Controller northbound, and Analytics southbound IP addresses are assigned using this network.
- For Controller-Branch_Network, the Controller southbound IP address is assigned using this network. This IP address is used to connect to the branch. The public IP address is also assigned to the Controller WAN port.
Before You Begin
- Obtain the Terraform template files from Versa Networks Customer Support. When requesting the template, specify whether you are using a standalone headend topology.
- Install Terraform on your system. For information, see the Download Terraform article on the Terraform website.
- Set up Terraform access to Google cloud service account to enable Terraform to provision resources into Google Cloud Platform. For information, see the Google Cloud Platform articles on the Google cloud website.
- Create a service account in Google cloud account.
- Create service account keys in JSON file format for the service account created. For information, see the Create Service Account Keys article on the Google cloud website.
- Obtain the JSON file for the service account to authenticate Google cloud platform for logging in to Terraform.
- Obtain images for the Versa headend components—Versa Director, Versa Analytics, and Versa Controller—from Versa Networks Customer Support.
Create the VMs
To create VMs using Terraform templates:
- Contact Versa Customer Support to obtain the Terraform template. When requesting the template, specify whether you are using a standalone or a redundant headend topology.
- When you receive the folder that contains the template files, save them to the local system on which Terraform is installed. The template folder contains the files needed to deploy the Versa headend VM resources on Google Cloud Platform. 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 Google Cloud Platform.
~$ terraform apply
The following table describes the content of each Terraform 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 instance ID and public IP address, 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. |
credentials.json | Authentication information. Place this file in the same folder where you download all authentication files. |
Supported Software Information
Releases 20.2 and later support all content described in this article.