|
|
## About this project
|
|
|
The purpose of this project is to test various solutions for monitoring of Kubernetes(k8s) environment. Inside a k8s cluster we can observe various metrics, for example: interactions between pods inside a cluster, whether pods are up or down, utilization of system resources inside of pods and many more. It is useful to track these metrics to get a sense of overall health of the cluster and prevent failures in advance.
|
|
|
|
|
|
\ No newline at end of file |
|
|
We will use `minikube` tool, which creates a local k8s cluster with single node.
|
|
|
It is recommended to run this project in VM(virtual machine).
|
|
|
## Web app
|
|
|
If we wish to compare monitoring solutions, we should generate some traffic inside the cluster. I decided to create a simple web application, consisting of `frontend` and `backend`. Frontend is a container based on `node` image using the `Vue.js` framework. Backend is using `flask`, a micro framework for `python`. Both of these building blocks have their k8s pod and service. There is a `nginx` proxy inside of the `frontend` pod, which will redirect URLs starting with `/api` to the `backend` pod, other requests will be served from the `frontend` pod.
|
|
|
Api of the `backend` pod is used to collect information and manipulate system resources. There is an issue however, since we are running everything locally using `minikube`, it is impossible to separate resources used by the pod from resources used outside of the k8s cluster. |
|
|
\ No newline at end of file |