Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prajwalpd7/microservices-k8s
Deploy a scalable Flask microservice application with MongoDB on a Kubernetes cluster.
https://github.com/prajwalpd7/microservices-k8s
Last synced: 4 days ago
JSON representation
Deploy a scalable Flask microservice application with MongoDB on a Kubernetes cluster.
- Host: GitHub
- URL: https://github.com/prajwalpd7/microservices-k8s
- Owner: prajwalpd7
- Created: 2023-09-01T16:30:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-01T16:42:39.000Z (about 1 year ago)
- Last Synced: 2023-09-02T14:50:00.767Z (about 1 year ago)
- Language: Python
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kubernetes Microservice Flask Application
This is a microservice application built using Flask and deployed on Kubernetes. It is designed to demonstrate how to build and deploy microservices on a Kubernetes cluster.
![k8s micro](https://github.com/prajwalpd7/microservices-k8s/assets/71492927/5b4ff721-5d22-43e9-9230-2b18ad2d6204)
- Deploy a scalable Flask application and MongoDB on a Kubernetes cluster.
## Installation
To install and run the application on your Kubernetes cluster, follow these steps:
1. Clone this repository to your local machine.
2. Navigate to the project root directory.
3. Create a Kubernetes deployment and service by running the following command:`kubectl apply -f kubernetes.yaml`
4. Verify that the deployment and service have been created successfully by running the following command:
`kubectl get deployments,services`
5. If everything is working properly, you should see the name of your deployment and service listed in the output.
## Usage
To use the microservice, you can send HTTP requests to the service's endpoint. Here's an example request:
`curl http://:/tasks`
This should return a JSON response with a greeting message.
## Project Roadmap
### Phase 1: Environment Setup
- Install Kubernetes and initialize a cluster using kubeadm.
- Set up `kubectl` for cluster management.### Phase 2: Application Development
- Develop a Flask application serving as the microservice.
- Connect the application to MongoDB.### Phase 3: Dockerization
- Create Dockerfiles for both Flask and MongoDB.
- Build and test Docker images locally.### Phase 4: Kubernetes Deployment
- Create YAML files for deployments and services.
- Deploy the components to the Kubernetes cluster.### Phase 5: Scalability
- Implement Horizontal Pod Autoscaling.### Phase 6: Monitoring and Logging
- Set up Prometheus and Grafana for monitoring.
- Use Fluentd and Elasticsearch for logging.### Phase 7: Troubleshooting
- Implement best practices for troubleshooting common issues.