Install Voyager
Get a Free Trial License
In this section, we are going to show you how you can get a 30 days trial license for Voyager. You can get a license for your Kubernetes cluster by going through the following steps:
- At first, go to AppsCode License Server and fill up the form. It will ask for your Name, Email, the product you want to install, and your cluster ID (UID of the
kube-system
namespace). - Provide your name and email address. You must provide your work email address.
- Then, select
Voyager
in the product field. - Now, provide your cluster ID. You can get your cluster ID easily by running the following command:
kubectl get ns kube-system -o=jsonpath='{.metadata.uid}'
- Then, you have to agree with the terms and conditions. We recommend reading it before checking the box.
- Now, you can submit the form. After you submit the form, the AppsCode License server will send an email to the provided email address with a link to your license file.
- Navigate to the provided link and save the license into a file. Here, we save the license to a
license.txt
file.
Here is a screenshot of the license form.
You can create licenses for as many clusters as you want. You can upgrade your license any time without re-installing Voyager by following the upgrading guide from here.
Voyager licensing process has been designed to work with CI/CD workflow. You can automatically obtain a license from your CI/CD pipeline by following the guide from here.
Purchase Voyager License
If you are interested in purchasing Voyager license, please contact us via sales@appscode.com for further discussion. You can also set up a meeting via our calendly link.
If you are willing to purchase Voyager license but need more time to test in your dev cluster, feel free to contact sales@appscode.com. We will be happy to extend your trial period.
Install
Using Helm 3
Voyager can be installed via Helm using the chart from AppsCode Charts Repository. To install, follow the steps below:
# provider=acs
# provider=aks
# provider=aws
# provider=azure
# provider=baremetal
# provider=gce
# provider=gke
# provider=kind
# provider=openstack
# provider=metallb
# provider=digitalocean
# provider=linode
$ helm install voyager oci://ghcr.io/appscode-charts/voyager \
--version v0.6.1 \
--namespace voyager --create-namespace \
--set cloudProvider=$provider \
--set-file license=/path/to/the/license.txt \
--wait --burst-limit=10000 --debug
To see the detailed configuration options, visit here.
Using YAML
If you prefer to not use Helm, you can generate YAMLs from Voyager chart and deploy using kubectl
. Here we are going to show the procedure using Helm 3.
# provider=acs
# provider=aks
# provider=aws
# provider=azure
# provider=baremetal
# provider=gce
# provider=gke
# provider=kind
# provider=openstack
# provider=metallb
# provider=digitalocean
# provider=linode
$ kubectl create ns voyager
$ helm template voyager oci://ghcr.io/appscode-charts/voyager \
--version v0.6.1 \
--namespace voyager --create-namespace \
--set cloudProvider=$provider \
--set-file license=/path/to/the/license.txt \
--set cleaner.skip=true | kubectl apply -f -
To see the detailed configuration options, visit here.
Verify installation
To check if Voyager operator pods have started, run the following command:
$ kubectl get pods --all-namespaces -l app.kubernetes.io/name=voyager --watch
NAMESPACE NAME READY STATUS RESTARTS AGE
voyager voyager-operator-84d575d55-5lphm 1/1 Running 0 6m42s
Once the operator pods are running, you can cancel the above command by typing Ctrl+C
.
Now, to confirm CRD groups have been registered by the operator, run the following command:
$ kubectl get crd -l app.kubernetes.io/name=voyager
Now, you are ready to create your first ingress using Voyager.
Configuring RBAC
Voyager creates an Ingress
CRD. Voyager installer will create 2 user facing cluster roles:
ClusterRole | Aggregates To | Description |
---|---|---|
appscode:voyager:edit | admin, edit | Allows edit access to Voyager CRDs, intended to be granted within a namespace using a RoleBinding. |
appscode:voyager:view | view | Allows read-only access to Voyager CRDs, intended to be granted within a namespace using a RoleBinding. |
These user facing roles supports ClusterRole Aggregation feature in Kubernetes 1.9 or later clusters.
Using kubectl
Since Voyager uses its own TPR/CRD, you need to use full resource kind to find it with kubectl.
# List all voyager ingress
$ kubectl get ingress.voyager.appscode.com --all-namespaces
# List voyager ingress for a namespace
$ kubectl get ingress.voyager.appscode.com -n <namespace>
# Get Ingress YAML
$ kubectl get ingress.voyager.appscode.com -n <namespace> <ingress-name> -o yaml
# Describe Ingress. Very useful to debug problems.
$ kubectl describe ingress.voyager.appscode.com -n <namespace> <ingress-name>