Skip to content
This repository was archived by the owner on Apr 21, 2023. It is now read-only.

Latest commit

 

History

History
92 lines (68 loc) · 4.21 KB

README-MacOS.md

File metadata and controls

92 lines (68 loc) · 4.21 KB

Deploy Qlik Sense for Kubernetes on local Minikube

This project simplifies the deployment of Qlik Sense Enterprise for Kubernetes (QSEoK) on local Minikube. This can be used for testing, but should not be applied in production environment.

This ReadMe focuses on deployment in MacOS, for Windows guideline see README

values.yaml contains the deployment configuration for QSEoK. Depending on your custom configuration this file may contain secret details e.g. related to authentication setup. Caution is advised on shairng your custom configuration file to others.

Scripts and details are based on default deployment of Qlik Sense April 2019 as described in related Qlik Help pages.

Pre-requisites

  • Qlik Sense Enterprise signed license key
  • Internet access

Before you begin

Check that virtualization is enabled on your client machine. Run the following command in terminal to confirm if virtualization is supported on macOS.
sysctl -a | grep machdep.cpu.features
If you see VMX in the output, the VT-x feature is supported on your OS.

Install Tools

Tools only need to be installed once, and only if not already installed.

Below references use Homebrew package manager for MacOS.

  1. Open Terminal
  2. Install tool packages
    • Virtualbox: brew cask install virtualbox
    • Minikube: brew cask install minikube
    • Kubectl: brew install kubernetes-cli
    • Helm: brew install kubernetes-helm
  3. Open Virtualbox GUI to confirm it was installed correctly
  4. Open tools help to confirm successful install
    • Minikube minikube --help
    • Kubectl kubectl --help
    • Helm helm --help

Deploy Qlik Sense on Kubernetes on Minikube

  1. Open Terminal
  2. Start Minikube
    minikube start --memory 8000 --cpus=4
    Note: Set the kube size so it fits within available resources
  3. Configure Kubesctl to target Minikube
    kubectl config set-cluster minikube
  4. Add Qlik's chart repository to Helm
    helm repo add qlik https://qlik.bintray.com/stable
  5. Initiate Helm for deployment into Kubernetes. Helm Tiller pod is added to the Kubernetes cluster first.
    helm init --wait
  6. Install custom resource definitions used by dynamic engines
    helm install --name qliksense-init qlik/qliksense-init
  7. Install the Qlik Sense packages
    helm install -n qliksense qlik/qliksense -f values.yaml
  8. List pods to see their current status
    kubectl get pods
  9. Repeat previous step until all pods (besides engine) are running.
    Note, this takes several minutes.
  10. Get Minikube IP address
    minikube ip
  11. Update local host file to enable resolving Minikube IP to elastic.example.

Access Qlik Sense

  1. Browse to console https://elastic.example:32443/console/
  2. Apply license
  3. Browse to Hub https://elastic.example:32443
    User: [email protected]
    Pwd: Password1!

Remove deployment

  1. Terminated and remove minikube instance
    minikube delete

Troubleshooting

Error: validation failed: error validating "": error validating data: unknown object type "nil" in Secret.data.redis-password`

This error appears during Qlik package installation, when using Helm 2.14. Issue can be reoslve by downgrading to Helm 2.13.1.

choco install kubernetes-helm --version 2.13.1 --yes --force

License

This project is provided "AS IS", without any warranty, under the MIT License - see the LICENSE file for details