Installation via Helm

Nova can be installed using a Helm Chart. You can download the yaml easily when adding a Node, and follow the guide below.

Installation

Refer to prerequisites and the sample nova.yaml.

Download From AutoJoin

You can download nova.yaml from the AutoJoin pageopen in new window which will be prefilled for your installation.

helm repo add nova-helm https://snapt.github.io/nova-helm
helm repo update

helm install <release_name> -f nova.yaml nova-helm/nova

Pre-requisites

  1. Make a copy of the nova.yaml file from the sample below, or download an autogenerated one from AutoJoinopen in new window on Nova.
  2. If you copied the sample nova.yaml file, fetch your ADC AutoJoin Key from AutoJoinopen in new window and insert it as the nova_auto_conf variable
  3. Edit port mappings for the deployment and service as required. Only add ports that you have bound to in your Nova ADC configuration.

Check the ports in nova.yaml!

Enabling ports you don't plan on using immediately may cause issues on the load balancer service. Ports can be enabled later, so it's recommended to only enable active ports currently set on your ADC configuration.

Contents

Three Kubernetes elements are created:

  1. A Namespace following the following convention: $release_name-ns
  2. A Deployment with a single replica using the novaadc/nova-client container. From this a pod will be generated which is the Nova Node itself. To scale your Nova Nodes up or down, simply increase or decrease the replicas.
  3. A Service with type LoadBalancer.

LoadBalancer services can be replaced with other types of services, such as ClusterIP, NodePort, or a Nova External Service Load Balancer.

Scaling Nova Nodes

In order to take full advantage of the AutoJoin functionality of Nova Nodes, scaling up and down is as simple as setting the replicas. See below for an example of setting the nodes to 2 using native kubernetes scaling

kubectl scale deployments/nova-dpl --replicas=2 -n nova-ns

Sample nova.yaml

Make use of the below as input during the installation and pre-requisites step.

Download From AutoJoin

Instead of manually creating the file below, use Nova AutoJoinopen in new window to create your helm chart.

replicaCount: 1

image:
  repository: novaadc/nova-client:latest
  tag: 0.1.0
  pullPolicy: IfNotPresent

serviceAccount:
  create: false

nova_auto_conf: 'Insert your AutoJoin Key here'
nova_auto_conf_host: 'nova.snapt.net'
host: 'poll.nova-adc.com'

# IMPORTANT: do not add ports not used in your ADC
deployment_port_map:
  port80:
    containerPort: 80
    protocol: TCP
  port443:
    containerPort: 443
    protocol: TCP

service_port_map:
  port80:
    name: 'port80'
    port: 80
    targetPort: 80
  port443:
    name: 'port443'
    port: 443
    targetPort: 443

Nova Hosted Notes

If you are not using nova.snapt.net but rather a self-hosted or partner Nova installation you need to ensure your nova_auto_conf_host and host fields are correct.