Kubernetes deployment
Install the Analyzer on Google Kubernetes Engine
Pre-requisites
- Having a GCP account with permissions to create and administer Kubernetes Clusters.
- A GCP Project with Kubernetes API active.
- Having a machine with
kubectl
,gcloud
andhelm
installed.
Install the necessary tools
On the machine or VM you will use to administer the cluster:
- Install
kubectl
, follow the official Kubernetes documentation. - Install
gcloud
, follow the GCP documentation. - Install
helm
, follow the official Helm documentation.
Download the Helm charts
You can download the helm charts with:
wget https://api.latence.ca/software/k8s-analyzer.zip
Create a cluster
- Once the Kubernetes API is activated and you have the necessary permissions to create and administer a Cluster, we will create one.
- On your Project page, click on Kubernetes Engine.
- Once in the Clusters tab, click on Create and select the Standard Cluster.
- In the Cluster basics section, name your analyzer.
- Click on default pool and change the number of nodes from 3 to 1, check the Enable cluster autoscaler box.
- Lower down the page, set the Minimum number of nodes at 1 and Maximum number of nodes at 2.
- Click on the Nodes tab on the left and change the image type from Container-Optimized OS with containerd to Ubuntu with containerd.
- In the Machine configuration section, set the machine type to fit the requirements to host the analyzer as described in docs.latence.ca.
- Set the boot disk size at 20GB as requested for the analyzer to run properly.
- If your application can handle a less stable environment, select Enable nodes on spot VMs, since this is a demo/test environment, we can check the box. This will also reduce the cost of the cluster.
- In the Automation tab on the left, select Enable vertical Pod autoscaling.
- Finally you can hit Create, and wait for your cluster to be set up.
Install the Analyzer
You can remotely connect to your cluster using this command in your terminal:
gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
- You can see the running components of your cluster by entering:
kubectl get all
- Take note of the Cluster-IP.
-
We will need to modify three parameters in our
values.yaml
file:
1) The Latencetech License.
2) The IP address the Kafka pod will use.
3) The IP address zookeeper will use. -
Set your license.
- Set the IP address Kafka will use in the IP range of the Cluster-IP we saw above.
- Set the IP address Zookeeper will use in the IP range of the Cluster-IP we saw above.
- Set that same IP address as zookeeperEndpoint in the Kafka section
- Once the IP addresses are set, we can install the analyzer running this command:
helm install analyzer k8s-analyzer/
- Wait 60 seconds for all the services and pods to be deployed.
- You can check the status of deployment by running:
kubectl get all
- Once done, you can get the External IP address your analyzer was deployed at running this command:
kubectl get svc