This document is meant to cover some of the configuration of the Qlik Associative Big Data Index (QABDI) install. This is not meant to replace the installation document provided, this is purely supplemental.
For my local install I used the following setup:
- Local Machine: MacOs
- VM Software: Parallels
- VM OS: Ubuntu 18.04 LTS
- Kubernetes Distro: Microk8s
Note: I chose microk8s because of its quick deployment using
snap and K8s not supporting Parallels in their Minikube distro. If you are using Windows and/or use VirtualBox or Hyper-V, I would suggest Minikube since it is the official K8s learning environment distro.
Now I don’t think these are things that you have to know before getting started, however you will need to be willing to learn them to be successful. This is by no means a comprehensive list, but a good starting point.
While MacOs is similar, Windows is very different. It’s good to have a general understanding of different distributions, Linux’s folder structures and using package managers.
This is the terminal language used in MacOs and Linux and will be used through out the whole install and configuration. It is similar to the cmd line in Windows.
Some commands you should be familiar with:
cd– Change directories.
ls– List contents of a directory.
mkdir– Create a directory.
touch– Create a file.
rm– Delete a file.
mv– Move a file.
cp– Copy a file.
nano– Terminal text editor to edit files.
vimcan be used as an alternative.
cat– Print contents of text file in terminal.
sudo– Run a command as an admin.
curl– Call a web url.
Here is a quick guide, I found. though there are many others you can find with a quick Google search.
Kubernetes and QABDI uses
json for settings files. It is worth knowing the fundamentals of both of these file stuctures.
This is probably a given, but you should have experience in building a Qlik applications and have a deep understanding of the Qlik Associative Engine before this. This will help understand the indexing portion, as well as setting up the schema. Having ODAG experience will be helpful when building an app utilizing QABDI.
You can find most of the documentation you need on their website here.
I did a snap install:
>snap install microk8s --classic
- Alias microk8s.kubectl to only kubectl, making it easier to follow the documentation.
>snap alias microk8s.kubectl kubectl
- Enable additional kubernetes components
>microk8s.enable dashboard dns storage
dashboardenables a gui dashboard available at:
dnsadds ConfigureDNS to the cluster.
storagemounts a persistance volume to the host OS. This can be located on your Linux filesystem at:
>helm install --name bdi bt_qlik/bdi \ -f %settings-file.yaml% \ --set acceptLicense=true \ --set 'license.key=%enterkey%'
helm install --name qabdi bt_qlik/bdi -f qsl-manager-loadbalancer.yaml --set acceptLicense=true --set 'license.key=lkjalsdkjfalskdfjalfd'
If the license doesn’t take in the helm install cmd, you will need to edit the secret
datavalue. This has to be the Base64 encoding of the license value.
I ended up moving all my settings to a
yaml file and use the following:
helm install --name qabdi bt_qlik/bdi -f override.yaml
## BDI values ## Default values: https://github.com/qlik-trial/elastic-charts/blob/master/charts/bdi/values.yaml ## EULA License Agreement acceptLicense: true license: ## ABDI License Key ## key: "lkjalsdkjfalskdfjalfd" ## MicroK8s doesn't have a load balancer. This exposes the service to a port of the node. ## qslmanager: service: type: NodePort
- Make sure the QSL services are up.
- Make sure the QSLManager is type: Nodeport
- If you are using a cloud service or configured a load balancer user us LoadBalancer instead.
- Make sure kubernetes proxy is up
- Forward cluster port to host port:
kubectl port-forward service/qabdi-qslmanager 55000:5500 0 -n default --address 0.0.0.0
- If you are using a load balancer you can find the ip address using
kubectl get svc