Thanks to visit codestin.com
Credit goes to github.com

Skip to content

aacc1on/mern-k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MERN Stack on Kubernetes

A simple Todo List app using MongoDB, Express, React, and Node.js, deployed on Kubernetes with Minikube.

What's Inside

  • MongoDB database
  • Express.js REST API
  • React frontend
  • Kubernetes deployment configs
  • Docker containers

Prerequisites

Install these first:

  • Docker
  • Minikube
  • kubectl

Quick Start

1. Clone and Setup

git clone https://github.com/aacc1on/mern-k8s.git
cd mern-k8s

2. Start Minikube

minikube start --cpus=4 --memory=4096

3. Build Docker Images

# Use Minikube's Docker
eval $(minikube docker-env)

# Build backend
cd backend
docker build -t mern-backend:latest .

# Build frontend
cd ../frontend
docker build -t mern-frontend:latest .

4. Deploy to Kubernetes

cd ..
kubectl apply -f k8s/mongodb-deployment.yaml
kubectl apply -f k8s/backend-deployment.yaml
kubectl apply -f k8s/frontend-deployment.yaml

5. Access the App

# Get the URL
minikube service frontend-service

# Or get IP manually
minikube ip
# Then visit http://<minikube-ip>:30080

Check Status

# See all pods
kubectl get pods

# See all services
kubectl get services

# Watch pods in real-time
kubectl get pods -w

View Logs

# Backend logs
kubectl logs -f deployment/backend

# Frontend logs
kubectl logs -f deployment/frontend

# MongoDB logs
kubectl logs -f deployment/mongodb

Stop Everything

# Delete all deployments
kubectl delete -f k8s/

# Stop Minikube
minikube stop

Useful Commands

# Open Kubernetes dashboard
minikube dashboard

# SSH into a pod
kubectl exec -it <pod-name> -- sh

# Restart a deployment
kubectl rollout restart deployment/backend

# Scale replicas
kubectl scale deployment/backend --replicas=3

Troubleshooting

Pods not starting?

kubectl describe pod <pod-name>

Build taking too long?

# Clear Docker cache
docker system prune -a

Can't connect to backend?

# Check service is running
kubectl get svc
kubectl logs deployment/backend

Project Structure

mern-k8s/
├── backend/          # Node.js API
├── frontend/         # React app
└── k8s/             # Kubernetes configs

What You'll Learn

  • Docker containerization
  • Kubernetes pods and deployments
  • Services and networking
  • Persistent volumes
  • Scaling applications
  • Container orchestration

License

MIT# mern-k8s

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published