The project goal is to operationalize a pre-built SKLearn Machine Learning Microservice Application using Kubernetes, which is an open-source system for automating the management of containerized applications by doing the following:
- Test project code using linting
- Create a Dockerfile to containerize this application
- Deploy the containerized application using Docker and make a prediction
- Improve the log statements in the source code for the application
- Configure Kubernetes and create a Kubernetes cluster
- Deploy the containerize app to Kubernetes cluster and make a prediction
- Use CircleCI as a CICD tool
Flask
pytest
PyLint
Docker
Kubernetes
CircleCI
You need Python 3 and a bash-like shell.
- Create a virtualenv and activate it
- Run
make installto install the necessary dependencies
- Standalone:
python app.py - Run in Docker:
./run_docker.sh - Run in Kubernetes:
./run_kubernetes.sh
- Setup and Configure Docker locally
- Setup and Configure Kubernetes locally
- Create Flask app in Container
- Run via kubectl
Application listens on port 8000
This project uses pytest