The project's goal is to operationalize a machine learning microservice using kubernetes. The service serves out predictions (inference) about housing prices through API calls. The model has been trained to predict housing prices in Boston according to several features, such as average rooms in a home and data about highway access, teacher-to-pupil ratios, and so on.
- Docker
- Virtualbox
- hadolint
- config.yml: CircleCI configuration file for running the tests
- app.py: Python flask app that serves out predictions (inference) about housing prices through API calls
- Dockerfile: Dockerfile for building the image
- make_prediction.sh: Send a request to the Python flask app to get a prediction
- Makefile: includes instructions on environment setup and lint tests
- run_docker.sh: file to be able to get Docker running, locally
- run_kubernetes.sh: file to run the app in kubernetes
- upload_docker.sh: file to upload the image to docker
- To build and run the docker image
./run_docker.sh
- To predict using the app in docker container as well as kubernetes cluster
./make_prediction.sh
3.To create a cluster using minikube
minikube start
- To deploy this application in kubernetes run:
./run_kubernetes.sh
- Delete the cluster
minikube delete