Kubernetes manifests for deploying a multi-tier microservices application, covering the full stack from ingress through to persistent data services.
Client (React) ──┐ ├──> nginx ingress ──> API service ──> MongoDB Web API ─────────┘ └──> MySQL
| Manifest | Purpose |
|---|---|
nginx-deployment.yaml / nginx-service.yaml |
Reverse proxy and load balancing |
ingress.yaml / deploy.yaml |
nginx ingress controller and routing rules |
client-deployment.yaml / client-service.yaml |
Front-end application |
api-deployment.yaml / api-service.yaml |
Application API |
webapi-deployment.yaml / webapi-service.yaml |
Secondary web API |
emongo-deployment.yaml / emongo-service.yaml |
MongoDB |
emartdb-deployment.yaml / emartdb-service.yaml |
MySQL |
nginx-config.yaml |
ConfigMap for nginx |
- A running Kubernetes cluster (minikube, k3s or managed)
kubectlconfigured against that cluster- nginx ingress controller available
kubectl apply -f deploy.yaml # ingress controller
kubectl apply -f . # application manifests
kubectl get pods
kubectl get svc
kubectl get ingress
kubectl logs -l app=api
Built while learning Kubernetes service discovery and ingress routing. Secrets and environment-specific values are intentionally excluded — supply them via a Secret or ConfigMap for your own environment.