Welcome to the Kubernetes Voting Platform! π This project demonstrates a simple, scalable voting application deployed using Kubernetes. Itβs designed to showcase the power of Kubernetes for container orchestration and microservices architecture.
This project uses Kubernetes to deploy a voting app, consisting of multiple components that include:
- Frontend: The user interface for casting votes.
- Backend: The service that processes votes and stores the data.
- Worker: A service that handles the vote counting.
The app is made up of several containerized components, deployed as Pods and exposed as Services using YAML files.
- Scalability: Easily scale each component independently.
- Containerization: All components are containerized using Docker images.
- High Availability: Kubernetes ensures your app runs smoothly with multiple replicas of each service.
- Easy Deployment: Simply apply the YAML configuration files to deploy the app on any Kubernetes cluster.
pod.yaml
: Defines the Pods for the frontend, backend, and worker.service.yaml
: Exposes the frontend and backend components as Kubernetes Services.
- A running Kubernetes cluster (local or cloud-based).
- kubectl configured to interact with your cluster.
- Minikube (for local Kubernetes setup) or any cloud Kubernetes service (e.g., GKE, EKS, AKS).
-
Clone this repository:
git clone https://github.com/SDE-Arun/kubernetes-voting-platform.git cd kubernetes-voting-platform
-
Apply the Pod and Service YAML files:
kubectl apply -f pod.yaml kubectl apply -f service.yaml
-
Check the status of your pods:
kubectl get pods
-
Access the Voting App:
You can access the app through the frontend service in your cluster. Use the following command to get the service URL:kubectl get svc
This project is based on the following Kubernetes components:
- Pods: The basic deployable units that contain your containers.
- Services: Exposes the appβs frontend and backend to the outside world, allowing for load balancing and stable access.
We welcome contributions! Feel free to fork the repository, make changes, and create pull requests. If you encounter any issues or have suggestions, please open an issue on the GitHub repository.
This project is open-source and available under the MIT License.
- Kubernetes for powerful container orchestration.
- Docker for easy containerization of the app components.
- GitHub for hosting the repository.
Enjoy deploying your voting app on Kubernetes! π Letβs scale it! π
Feel free to modify any section to better fit your actual project details or add any specific information you want. Let me know if you'd like further adjustments! π
Happy coding! π
ππ Feel free to reach out to me for any queries or suggestions:
- Arun Chaudhary
- Software Developer
- π§ Email: [email protected]