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 page 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
- Make a copy of the nova.yaml file from the sample below, or download an autogenerated one from AutoJoin on Nova.
- If you copied the sample nova.yaml file, fetch your ADC AutoJoin Key from AutoJoin and insert it as the
nova_auto_conf
variable - 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:
- A Namespace following the following convention: $release_name-ns
- 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. - 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 AutoJoin 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.