Deploy Apps on Volterra Network Cloud


This document provides instructions on how to deploy applications on Volterra network cloud. Volterra provides mechanism to easily deploy applications across Volterra global network and make them available closer to users in major metro markets. To know more about how Volterra distributes application deployment, see Distributed Application Management.

Using the instructions provided in this guide, you can create a virtual site to group sites managed by Volterra network cloud, associate it with Volterra vK8s, and deploy applications at your sites using this vK8s object.



The following restrictions apply:

  • Running of containers/pods with host networking hostNetwork, host PID hostPID or host IPC hostIPC is not supported.
  • Running containers/pods as privileged is not supported.
  • Running containers/pods as root user is not supported. The container images are required to support running under arbitrary user id and group id. Filesystem write permissions should not be specified to a particular user id. Else container will crash with the permission denied message.
  • Container/pod can use only ports higher than 1024.
  • The containers are not supported to use host mount volumes. The list of supported Kubernetes volumes are:

    • configMap
    • downwardAPI
    • emptyDir
    • persistentVolumeClaim
    • projected
    • secret
  • During maintenance or reboot of the site, the vK8s pods are replaced with new pods and new names in order to obtain fresh identities for pods. See Security for detailed information on identity management.


Volterra enables you to deploy applications on its network cloud sites. These sites are managed by Volterra and you can leverage Volterra Virtual Kubernetes (vK8s) to deploy applications and manage them at scale.

The following image shows the workflow of deploying applications on Volterra network cloud.

Figure: Deploying Applications on Volterra’s Network Cloud Site

Configuration Sequence

Deploying applications on Volterra network cloud requires you to perform the following sequence of steps:

Phase Description
Obtain Volterra Network Cloud Edge Site Information Get the list of Volterra Regional Edge (RE) sites and the labels associated with them.
Create Virtual Site Create a virtual site and use the labels of the REs in the label expression to group them into the virtual site.
Create Volterra vK8s Create Volterra vK8s service object.
Deploy Applications to vK8s Add applications deployments to the created vK8s object.
Verify the Application Deployment Status Check the application deployment status and site status.

Note: For virtual site creation instructions, see how to create a virtual site.

Obtain Volterra Network Cloud Edge Site Information

This section explains the steps of selecting the network cloud sites for deploying an application.

Step 1: Select Sites in the configuration menu and Site List in the options pane. In the filter section on the top, select Type and select RE from the dropdown menu.

Figure: Select Network Cloud Sites

Figure: List Network Cloud Sites

Step 2: Expand any site to read its schema. The metadata section contains all labels associated with the site.

Figure: Site Labels

For example, the above sample site contains the labels ‘siteType’=’re’ and ‘region’=’paris’. Using these keys/labels, you can create an expression to group this site in a virtual site.

Create Virtual Site

Step 1: Select Manage from configuration menu and Virtual Sites from the options pane. Click Add virtual site to create a virtual site.

Figure: Create Virtual Site

Step 2: Enter the name, labels, and description for the Name, Labels, and Description fields respectively.

Figure: Virtual Site Config Options

Step 3: Prepare label expression to group Volterra network cloud sites.This example shows selecting a site of type given by label and located in region given by label This creates a virtual site which maps to all the sites of type RE in Paris region.

Configure first label (site type) with the following values:

  • Known-key = “”
  • operator = ‘In’
  • value = “ves-io-re”

Figure: Virtual Site ‘SiteType’ Label

Configure second label (site region) with the following values:

  • Known-key = “”
  • operator = ‘In’
  • value = “ves-io-paris”

Figure: Virtual Site Region Label

The above expression select Volterra network cloud site pa4-par as shown below:

Figure: Virtual Site Labels and Site Selection

Step 4: Click Add virtual site to create virtual site.

Figure: Virtual Site Created

Create Volterra vK8s

This section explains the procedure of creating a Virtual K8s (vK8s) object. A namespace can only hold one vK8s object.

Step 1: Select Applications from the configuration menu and Virtual K8s from the options pane. Click Add virtual K8s to create a vK8s object.

Figure: vK8s Creation

Step 2: Enter name and namespace for the vK8s object.

Figure: vK8s Config

Step 3: Click Add virtual K8s to create vK8s.

Figure: vK8s Created

Step 4: Download kubeconfig of vK8s created above. This is required for any CLI based operations.

Figure: Download vK8s KubeConfig

Step 5: Associate the virtual site (paris region) created to the vK8s object.

Figure: vK8s Virtual Site Selection

Note: You can use Volterra specific annotations to select the sites where the Kubernetes application needs to be deployed. These annotations can be provided alongside with other configuration in the Kubernetes Deployment manifest. For more information on annotations, see Resource Management for Volterra vK8s.

"annotations": {
      "": "demo-volterra/demo-vK8s-network-cloud"

Deploy Applications to vK8s

Deploy Kubernetes objects to vK8s after virtual sites are chosen. Any object created through this vK8s gets reflected on all sites which are part of the virtual site.

You can deploy applications via two methods:

  • UI via VoltConsole to deploy applications
  • CLI using kubectl (by obtaining a kubeconfig file from VoltConsole)

This document covers adding a Kubernetes Deployment using VoltConsole.

Step 1: Click the vK8s object created above. This opens a pane that lists all the supported Kubernetes objects.

Figure: vK8s Deployment

Step 2: Click Add Deployment in the Deployment tab and use ‘JSON’ or ‘YAML’ format to add the Kubernetes deployment manifest.

Figure: vK8s Deployment

Note: You can specify workload flavors by adding the annotation with the value set to the flavor name on Deployments, Jobs, or StatefulSets. The example annotation is : "medium" and default value is tiny. See Managing Compute Resources for Containers for details about the workload flavors.

Step 3: Create a Kubernetes Service. Click Add Service in the Service tab and use ‘JSON’ or ‘YAML’ to add the Kubernetes deployment manifest.

Verify the Application Deployment Status

Step 1: After the deployment is created, VoltConsole enables users to check the status of the deployed application. Expand the deployment in the Deployment tab to see the status.

Figure: vK8s Deployment Status

As seen in the above example, the application ‘details-v1’ is healthy and deployed on the virtual site ‘demo-deploy-volterra-network-edge-re’ which maps to a Volterra network cloud site.

Step 2: Click the Pod tab to get a per-pod view.

Figure: vK8s POD status

Step 3: You can also get information of applications/deployments along with resource metrics based on the Virtual site they are deployed in. Select Applications from configuration menu and Virtual sites from the options pane.

Figure: Network Cloud Virtual Site status

After the application is deployed using vK8s, you can use it with other configuration objects of Volterra platform. For example, advertise the application across the public network.


API References