This guide will walk through deploying the Imply Manager on a Kubernetes (K8s) cluster using an Imply-maintained Helm Chart. The commands assume that you are using OSX, but can be easily adapted for a Windows or Linux OS.
To complete this quickstart, you will need:
In this first section, we will set up a local single-node K8s cluster using Minikube that we can use for our Imply Manager deployment. You will need a cluster with a minimum of 2 CPUs and 6GB RAM available.
Install Minikube on your system according to the installation documentation. If you are using Homebrew, run the following command:
brew install minikube
Start a local Kubernetes cluster with the required resources:
minikube start --cpus 2 --memory 6144 --disk-size 16g
Install Helm into your K8s cluster according to the installation documentation. If you are using Homebrew, the command is:
brew install helm
The rest of this guide assumes that you are using Helm 3 or later.
Add the Imply repository to Helm by running:
helm repo add imply https://static.imply.io/onprem/helm helm repo update
With Helm, there are two ways to provide your license key to the Imply Manager. You may either supply
it directly in Helm's
values.yaml configuration file, or create it as a K8s Secret and provide Helm with a reference
to the secret name. The latter method is more secure, and is the method we will be using here.
To create the secret containing the license key:
IMPLY_MANAGER_LICENSE_KEYand paste your license key as the content of the file.
kubectl create secret generic imply-secrets --from-file=IMPLY_MANAGER_LICENSE_KEY
We are now ready to deploy our Imply chart. For this quickstart, we will install the default version of the chart, which will create:
In the Kubernetes Deployment Guide, we will build on this basic cluster by discussing how to configure and scale this chart to be a highly-available cluster suitable for a production deployment.
Install the chart by running:
helm install imply imply/imply
The chart will take a few moments to deploy, after which you will be presented with information on how to access your cluster:
NAME: imply LAST DEPLOYED: Wed Jan 22 10:39:45 2020 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: Release name: imply It may take a few minutes for the deployment to become available. Manager ------- Once all the pods are running, you can access the Manager console at http://127.0.0.1:9097 by running: kubectl --namespace default port-forward svc/imply-manager-int 9097 Pivot and Druid Console ----------------------- Once the Imply Manager reports that the cluster is running, you can set up port forwarding by running: kubectl --namespace default port-forward svc/imply-query 8888 9095 Then connect to: - Pivot: http://127.0.0.1:9095 - Druid: http://127.0.0.1:8888
It may takes a few more minutes for the manager, dependencies, and initial Imply cluster to be deployed. Use the commands mentioned in the Helm Chart's notes to set up port forwarding to:
If the manager or cluster is not available after a few minutes, use commands like
kubectl get pods,
kubectl describe pods, and
kubectl logs -f -lapp.kubernetes.io/name=imply-manager --tail=1000 to check if the pods were created and are running properly.
Congratulations, you now have a managed Imply cluster! From here, you can: