This project demonstrates the implementation of a single-node Kubernetes cluster using Docker Desktop and containerized an application built with Express.js and Node.js. Deployed the application using two distinct approaches: monolithic and microservices architectures. Conducted load testing with the Locust framework to evaluate pod auto-scaling behavior based on varying load levels. Demonstrated the advantages of the microservices approach, where only the specific service under high demand scaled up, eliminating the need to scale the entire application.
You can watch an overview of the project by clicking the link below:
Video Link: Project Overview
Category | Details |
---|---|
Server Application | JavaScript, Node.js, Express.js |
Containerization | Docker, Docker Images, Docker Hub |
Kubernetes Cluster | Kubernetes in Docker Desktop [Create single node, local k8 cluster] |
Load Testing | Locust framework in Python |
k8 Services | LoadBalancer, NodePort, Deployment, Pods, Horizontal AutoScaling, k8 DNS |
Kubernetes Dashboard | Keep track of pods and resource utilization |
kubectl | CLI for k8 cluster management |
System Design | Monolithic architecture, Microservices architecture |
Medium | Details |
---|---|
[email protected] | |
GitHub Repository | Cool Kubernetes |
Website | shivam.foo |
Blog | Cool Kubernetes Blog |
GitHub Profile | nuttysunday |
Twitter Profile | Sundaycide |
Resume | View Resume |
Project Overview Video | Cool Kubernetes Video |
- For feature requests or bug reports, please reach out via email or create a pull request on GitHub.
- Seeking full-time SWE roles starting May 2025, please contact me at [email protected] if you have any leads.
#monolithic
#microservices
#kubernetes
#docker
#locust
#horizontal
#autoscaling
#loadbalancer
#NodeJS
#ExpressJS
#Javascript
#Python