Imply Enterprise on minikube
The following steps take you through installing Imply on a single machine using minikube and an Imply-maintained Helm chart. minikube is a small-scale, single-node Kubernetes engine suitable for exploratory purposes.
If you are new to Imply and Kubernetes, this is a good way to get started. This setup is not recommended for production deployments.
We'll set up a local cluster consisting of:
- Imply Manager
- An Imply cluster with one master node, one query node, and two data nodes
- A MySQL server (metadata storage for both the manager and the Imply cluster)
- A single-node ZooKeeper cluster
- A single-node MinIO server (as deep storage)
The commands assume that you are using OSX, but can be easily adapted for a Windows or Linux OS. We will be using the Homebrew package manager to install minikube and Helm. If you do not already have Homebrew, get it here.
Step 1: Install minikube and create a Kubernetes cluster
If you already have a Kubernetes environment available to use, you can skip to the next step. Our Kubernetes cluster will use 3 CPUs, 8 GB RAM, and 20 GB disk space. Your target machine should be able to support those specifications, otherwise adjust the amount of resources requested.
For complete installation instructions, including instructions for other operating systems, see minikube installation instructions in the Kubernetes documentation.
Install minikube and a driver that matches your setup, such as
qemu
for ARM or HyperKit for x86.The following example installs minikube and HyperKit using Homebrew on Mac:
brew install minikube hyperkit
For more information about installing HyperKit, see
hyperkit
.The following example installs minikube, QEMU, and (optionally)
socket_vmnet
using Homebrew on Mac:# Depending on your network setup, you may also need `socket_vmnet`.
brew install minikube qemu # socket_vmnet`For more information about installing QEMU, see qemu
Start a local Kubernetes cluster with the required resources. Make sure to specify your driver. For example, the following command starts a minikube Kubernetes cluster that uses HyperKit:
minikube start --cpus 3 --memory 8192 --disk-size 20g --vm-driver=hyperkit
This creates a new cluster named
minikube
. If you already have an existing minikube profile with the same name, you can create a different cluster by adding--profile [new-profile-name]
to theminikube start
command and any subsequentminikube
commands.Call
minikube profile list
to view your clusters.
Step 2: Install and configure Helm
Helm is a package manager for Kubernetes. Imply's Kubernetes implementation uses a Helm chart to handle setup and administration functions for the Imply cluster.
If you already have Helm 3.10 or later installed, skip to the next step. Otherwise:
- Install Helm with the following command:
brew install helm
- Add the Imply repository to your local Helm client:You can view the definition and values of the Imply chart using
helm repo add imply https://static.imply.io/onprem/helm
helm repo updatehelm show
.
See Deploy with Kubernetes for introductory information on using Helm with Imply.
Step 3: Apply your Imply Manager license
By default, a new installation includes a 30-day trial license. If you have a longer-term license that you want to apply, follow these steps:
- Create a file named
IMPLY_MANAGER_LICENSE_KEY
and paste your license key as the content of the file. - Create a Kubernetes secret named
imply-secrets
by running:kubectl create secret generic imply-secrets --from-file=IMPLY_MANAGER_LICENSE_KEY
Step 4: Install Imply
Deploy the Imply chart to install Imply:
helm install imply imply/imply
The chart will take a few minutes to deploy, after which you will be presented with information on how to access your cluster. If the installation fails because of a template error, make sure you're on a recent version of Helm 3. You can check the version with the following command:
helm version
.As noted in the Helm output, set up port forwarding to access the following services:
Imply Manager
kubectl --namespace default port-forward svc/imply-manager-int 9097
Pivot and Druid console
kubectl --namespace default port-forward svc/imply-query 8888 9095
Step 5: Access Imply services
Start your Imply cluster.
- Access the Imply Manager UI in your web browser at
http://localhost:9097
. - Create an account, or log into your account. You will be prompted to create an account the first time you access the Imply Manager.
- A cluster is created for you by default. Start the cluster in Imply Manager by clicking Manage then Start.
- Access the Imply Manager UI in your web browser at
Once the cluster is running, access the Druid and Pivot UIs from your web browser at the following addresses:
- Druid console: http://localhost:8888
- Pivot: http://localhost:9095
You will not be able to access Pivot or the Druid console until the cluster is running.
Step 6: Stop, restart, or remove Imply on minikube
To terminate your Imply processes, stop your minikube node by running the command:
minikube stop
When you stop minikube, your user data is kept intact. To restart the cluster, call
minikube start
as shown below.minikube start --cpus 3 --memory 8192 --disk-size 20g --vm-driver=hyperkit
You will not need to reinstall Imply, but you will need to repeat the port forwarding steps. It may take a few minutes for Imply to restart.
Finally, if you want to remove your existing installation of Imply, you can uninstall the application:
helm delete imply
Or you can delete the minikube cluster entirely:
minikube delete
Next steps
If you want to learn more about the parameters available in the Helm chart, see Fetching and updating the Imply Manager Helm Chart.
That's it! If you are new to Imply, try the quickstart steps for loading and querying data.