MERN App Deployed on Kubernetes | 3 TIER WEB APPLICATION


MERN App Deployed on Kubernetes | 3 TIER WEB APPLICATION via Kubeadm..
Many, many thanks to DevOps wale bhaiya Shubham Londhe, aka TrainWithShubham San ..............
Your teaching style is just next-level—so crystal clear that even a beginner or student can follow along with ease..
I followed every single step you taught, documented everything with screenshots , and despite hitting a few real-world DevOps errors (like ImagePullBackOff), I pushed through and fixed them like a true DevOps engineer—because that’s what we do.
Built & containerized a full MERN app
Set up a Kubernetes cluster using kubeadm
Installed CRI-O, Calico, Kubelet
Debugged and resolved image issues
Documented all steps + blog in pdf (check profile!)
Going for a "Ride with Shubham Bhaiya" on this one has been a super fun and rewarding journey.
Sirji, your desi-style deep knowledge delivery is just unbeatable. Thanks for being a rockstar teacher!
Project Summary: Deploying a MERN Stack App on Kubernetes using Kubeadm
Tech Stack Used:
MERN: MongoDB, Express.js, React.js, Node.js
Kubernetes: Cluster setup via kubeadm
Container Runtime: CRI-O
Networking: Calico CNI plugin
Infrastructure: 2 Ubuntu 24.04 VMs (T2.medium)
Docker: For image building & pushing to Docker Hub
Key Components:
3-Tier Architecture Breakdown:
Presentation: React (Frontend)
Application Logic: Express + Node.js (Backend)
Data Layer: MongoDB
Kubernetes Cluster Setup:
1 Master Node
1 Worker Node
Installed and configured CRI-O as container runtime
Installed kubelet, kubeadm, and kubectl
Networking Configurations:
Loaded required kernel modules (overlay, br_netfilter)
Set sysctl parameters for bridging and IP forwarding
Installed Calico plugin for pod networking
Image Creation & Deployment:
Built Docker images for frontend & backend
Tagged and pushed to Docker Hub
Resolved an ImagePullBackOff error by correcting image tag
Applied YAMLs for:
Persistent Volumes
Persistent Volume Claims
MongoDB & Redis deployments
Frontend and Backend deployments
Namespace & DNS Management:
Created wanderlust namespace for isolation
Patched CoreDNS replicas to ensure resolution across nodes
Final Outcome:
Successfully accessed the app:
Frontend: http://:31000
Backend: http://:31100
Application fully functional!
How even one missing tag (latest) can break a whole setup
TO FOLLOW for more projects & updates----
my GitHub profile - https://lnkd.in/gFnaRiS6
nextwork org link- https://lnkd.in/gpXTAeY5
dev.to -https://lnkd.in/gFRpihNq
medium.com- https://lnkd.in/g_iCpfsb
hashnode- https://lnkd.in/gSqR6GAn
bento- https://lnkd.in/g9zgrdhw
For a detailed breakdown with notes, explanations, and complete practical steps the documented version has been attached below. https://www.linkedin.com/posts/devops-methodology_deploying-a-mern-stack-application-on-k8s-activity-7332030488578064384--zid?utm_source=share&utm_medium=member_desktop&rcm=ACoAAE0aWosBwvnsFU3QDf3zF_WnWYAe3ZS1mlk
#DevOps #Kubernetes #MERNStack #TrainWithShubham #Docker #CI #CD #Yaml #FullStackDev #OpenSource #DocumentationMatters #LearningByDoing #cloudcomputing #devopsengineer #blogging #linkedinlearning #projectcomplete
Subscribe to my newsletter
Read articles from devops methodology directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

devops methodology
devops methodology
Aspiring Cloud & DevOps Engineer | Hands-on with CI/CD, Networking & Infrastructure |Building Practical Skills in Cloud Infrastructure | content creator |