Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 1.64 KB

README.md

File metadata and controls

68 lines (56 loc) · 1.64 KB

To-Do-App

This is a project that explores using Kubernetes and Docker for containerizing and deploying an application as part of the COMS 6998 Cloud Computing and Big Data course assignement.

Aim of the Project

  1. Containerizing the To-Do Application using Docker and push the image to Docker Hub.
  2. Deploy the container on a local Kubernetes cluster using Minikube
  3. Explore various Kubernetes features such as a replication controller, health monitoring, rolling updates, and alerting.
  4. Use Prometheus and Alert Manager to send health alerts on Slack.

Setup Instructions

  1. Install Docker and Kubernetes

  2. Create Docker Image for the Todo Flask Application

docker build -t <image_name>
  1. View Docker image created
docker images
  1. Push image to DockerHub
docker push <image_name>
  1. Start Minikube
minikube start
  1. Create todo flask app service on kubernetes
cd flask-app
kubectl apply -f kube
kubectl get service
minikube service <service_name> --url
  1. Create prometheus service
cd ../prometheus
kubectl apply -f .
kubectl get service
minikube service <service_name> --url
  1. Create alertmanager service
cd ../alertmanager
kubectl apply -f .
kubectl get service
minikube service <service_name> --url
  1. Create kube-state-metrics service
cd ../kube-state-metrics
kubectl apply -f .
kubectl get service
minikube service <service_name> --url

References

  1. https://devopscube.com/setup-prometheus-monitoring-on-kubernetes/
  2. https://grafana.com/blog/2020/02/25/step-by-step-guide-to-setting-up-prometheus-alertmanager-with-slack-pagerduty-and-gmail/