Installation
Concepts overview
In Kubernetes, applications are deployed onto Pods, which represents a running version of a containerized application.Pods are grouped by Deployments, which represent a set of Pods running the same application.For instance, should you need to run Horizon in high availability mode, your deployment will contain 3 pods or more.Applications running in Pods are made accessible by a Service, which grants a set of Pods an IP address (which can either be internal to the cluster or accessible on the public Internet through a Load Balancer).
The recommended way of installing on Horizon is through the Horizon’s Helm Chart.Helm is a package manager for Kubernetes that will generate Kubernetes resources necessary to deploy Horizon onto your cluster.The official Helm Chart will generate a deployment of one or more Pods running Horizon on your cluster.
Setting up Helm repository
Now that the application secrets are configured, add the EverTrust Helm repository to your machine:
$ helm repo add evertrust https://repo.evertrust.io/repository/charts
Verify that you have access to the Chart:
$ helm search repo evertrust/horizon NAME CHART VERSION APP VERSION DESCRIPTION evertrust/horizon 0.9.1 2.6.0 EverTrust Horizon Helm chart
Configuring the namespace
For isolation purposes, we strongly recommend that you create a dedicated namespace for Horizon:
$ kubectl create namespace horizon
The namespace should be empty. In order to run Horizon, you’ll need to create two secrets in that namespace:
-
A license secret containing your Horizon license file
-
An image pull secret, allowing Kubernetes to authenticate to the EverTrust’s container repository
Creating the license secret
You should have a license file for your Horizon installation, most probably named horizon.lic
. To convert this file to a Kubernetes secret, run:
$ kubectl create secret generic horizon-license \ --from-file=license="<path to your license file>" \ --namespace horizon
Creating the image pull secret
Next, you should configure Kubernetes to authenticate to the EverTrust repository using your credentials. They are necessary to pull the Horizon docker image, you should have received them upon purchase. Get your username and password and create the secret:
$ kubectl create secret docker-registry evertrust-registry \ --docker-server=registry.evertrust.io \ --docker-username="<your username>" \ --docker-password="<your password>" \ --namespace horizon
Configuring the chart
You’ll next need to override the defaults values.yaml
file of the Helm Chart to reference the secrets that we’ve created. We’ll provide a minimal configuration for demonstration purposes, but please do follow our production setup guide before deploying for production.
Create a override-values.yaml
file somewhere and paste this into the file:
image:
pullSecrets:
- evertrust-registry
license:
secretName: horizon-license
secretKey: license
To finish Horizon’s installation, simply run the following command:
$ helm install horizon evertrust/horizon -f override-values.yaml -n horizon
Please allow a few minutes for the Horizon instance to boot up. You are now ready to go on with the Startup & Login. This instance will allow you to test out if Horizon is working correctly on your cluster. However, this installation is not production-ready. Follow our Production Checklist to make sure your instance is fit to run in your production environment.