Prerequisite
Installing Docker Desktop
Ignore this step if you already have a K8s cluster or don’t plan to use it on your own desktop.
First make sure you have the desktop version of Docker installed. If you haven't installed it yet, please open this page and follow the instructions.
Once installed you can follow the instructions to enable Kubernetes on Mac, or follow the instructions to enable Kubernetes on Windows.
Once enabled, you can use the command
kubectl version --short
to check the version of the Kubernetes.
Installing Helm
The Helm tool is required for the installation of Lollipop, and the components it depends on. If you have not installed Helm, please open this page and follow the instructions.
Once installed, you can use the command
helm version --short
to check the version of the Helm.
Creating Namespaces
Creates the K8s namespaces for the system and runtime components of Lollipop:
kubectl create ns l6p-system
kubectl create ns l6p-space
Installing MongoDB
Download or clone this project and go to the utils/mongodb
directory. Please change the values.yaml file according to your requirements, and run the command:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install mongodb -n l6p-system -f ./values.yaml bitnami/mongodb
Installing Kafka
Lollipop uses Kafka as a message queue to store the logs generated during testing.
Download or clone this project and go to the utils/kafka
directory. Please change the values.yaml file according to your requirements, and run the command:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install kafka -n l6p-system -f ./values.yaml bitnami/kafka
Installing K8s Ingress Controller
Ignore this step if your K8s cluster already has an Ingress controller.
Lollipop provides a web-based management platform. In order to use this feature, the Ingress controller must be installed on k8s.
First create a K8s namespace for NGINX Ingress controller:
kubectl create ns ingress-nginx
NGINX Ingress controller can be installed via Helm:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx/
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx
To check if the ingress controller pods have started, run the following command:
kubectl get pods -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx --watch