A comprehensive demonstration of Kubernetes orchestration capabilities, showcasing how to deploy, manage, and scale containerized applications in a Kubernetes environment.
This project demonstrates the deployment of a multi-service application on Kubernetes, including:
- API service
- Web frontend
- Crawler service
- Metrics server
The application showcases various Kubernetes concepts such as:
- Deployments
- Services
- ConfigMaps
- PersistentVolumeClaims
- Ingress
- Resource management
- Kubernetes cluster (local or cloud-based)
- kubectl CLI tool
- Docker (for building images)
-
Clone this repository:
git clone https://github.com/yourusername/k8s.git cd k8s -
Apply the Kubernetes configurations:
kubectl apply -f api-configmap.yaml kubectl apply -f api-pvc.yaml kubectl apply -f api-deployment.yaml kubectl apply -f crawler-service.yaml kubectl apply -f web-deployment.yaml kubectl apply -f app-ingress.yaml
-
Verify the deployment:
kubectl get pods kubectl get services
The application consists of the following components:
- API Service: Backend service that handles data processing
- Web Frontend: User interface for interacting with the application
- Crawler Service: Service for data collection and processing
- Metrics Server: Provides monitoring capabilities
The application uses ConfigMaps to manage configuration settings. Key configuration files include:
api-configmap.yaml: Contains API service configurationcrawler-service.yaml: Defines the crawler service
If you encounter issues with the deployment:
-
Check the status of pods:
kubectl describe pod <pod-name>
-
View logs:
kubectl logs <pod-name>
-
Verify ConfigMap and PVC status:
kubectl get configmap kubectl get pvc
Contributions are welcome! Please feel free to submit a Pull Request.