Eliatra Suite on Kubernetes: Part 1 – Getting Started with Helm Charts
This article describes how to install an Eliatra Suite protected OpenSearch cluster on Kubernetes with Helm.
Reading time: 2 minutes
Prerequisites
You will need to have Docker installed on your local machine and a running Kubernetes cluster. In the scope of this blog post, we will install Kubernetes also locally (with minikube) but in the next parts of this blog post series, we will leverage AWS EKS for a production-grade setup.
The local minikube Kubernetes cluster will need 8 GB of memory and 4 CPUs.
- Install Helm if not already installed.
- Install Docker on your local machine if not already installed. Make sure the Docker engine has assigned the necessary resources.
- Install minikube if not already installed.
- Start Docker and check that it is running by executing
docker run hello-world
- Start minkube:
copy
minikube start --driver docker --memory 4096 --cpus 2 --kubernetes-version "v1.23.3" --nodes 2 -p "eliatra-suite" --wait=true
minikube -p eliatra-suite kubectl -- apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.24/deploy/local-path-storage.yaml
minikube -p eliatra-suite kubectl -- patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
minikube -p eliatra-suite kubectl -- delete storageclass standard
This will start minikube with 8 GB of memory, 4 CPUs and 2 nodes and installs the rancher local-path-provisioner, because minikubes own local-path storage class is not working well.
Get Eliatra Suite Helm charts
We provide free and open source licensed Helm charts to install Eliatra Suite.
Get the Eliatra Suite Helm charts:
copy
helm repo add eliatra-suite https://git.eliatra.com/api/v4/projects/40/packages/helm/stable
helm repo update
Install Eliatra Suite
In this quick start, we deploy just one master, one client, and one data node.
copy
helm install --set master.replicas=1 --set data.replicas=1 --set client.replicas=1 esuite eliatra-suite/eliatra-suite
Then run
minikube -p eliatra-suite kubectl -- get pods
to check if all OpenSearch nodes are up and running.
It will take a few minutes, depending on your hardware.If the result of the above command looks similar to:
copy
NAME READY STATUS RESTARTS AGE
esuite-eliatra-suite-cleanup-job-28090890-xxx 0/1 Completed 0 5m23s
esuite-eliatra-suite-cleanup-job-28090895-xxx 1/1 Running 0 23s
esuite-eliatra-suite-client-0 1/1 Running 0 7m5s
esuite-eliatra-suite-data-0 1/1 Running 0 7m5s
esuite-eliatra-suite-master-0 1/1 Running 0 7m5s
esuite-eliatra-suite-osd-0 1/1 Running 0 7m5s
esuite-eliatra-suite-spctl-initialize-rx4bd 0/1 Completed 0 7m5s
you can proceed.
Login into OpenSearch Dashboards
Execute
copy
minikube -p eliatra-suite kubectl -- get secrets esuite-eliatra-suite-passwd-secret -o jsonpath='{.data.ES_ADMIN_PWD}' | base64 --decode
to get the randomly created password for the
admin
user.Execute
copy
export POD_NAME=$(kubectl get pods --namespace default -l "component=esuite-eliatra-suite,role=osd" -o jsonpath="{.items[0].metadata.name}")
kubectl port-forward --namespace default $POD_NAME 5601:5601
and point your browser to https://localhost:5601, accept the self-signed SSL certificate, and login with username:
admin
and the password from above.Congratulations. You are now running a Eliatra Suite protected OpenSearch cluster.
Cleanup
To cleanup everything just run
minikube delete -p "eliatra-suite"
. This will delete the minikube nodes and all associated data.Next Steps
In our next article, we will set up our own Public Key Infrastructure (PKI) for SSL certificates and play around with configuration modifications and add more OpenSearch nodes. In one of the future articles, we will set up a production ready Eliatra Suite protected OpenSearch cluster on Amazon EKS.
Ready to get started?!
Let's work together to navigate your OpenSearch journey. Send us a message and talk to the team today!
Get in touch