Katana ML Skipper Data Service
File Structure
.
- data_service.py
- main.py
- Dockerfile
- README.md
- requirements.txt
app
Instructions
To run all services, check instructions in Getting Started
Run the service without Docker
- Install libraries
- Start service
pip install -r requirements.txt
python main.py
Build and run individual container
- Build container
- Run container
docker build --tag katanaml/data-service .
docker run -it -d --name data-service katanaml/data-service:latest
Katana ML Skipper Model Training Service
File Structure
.
- training_service.py
- main.py
- Dockerfile
- README.md
- trainingservice-pv.yaml
- trainingservice-pvc.yaml
- trainingservice-pod.yaml
- requirements.txt
app
Instructions
To run all services, check instructions in Getting Started
Run the service without Docker
- Install libraries
- Start service
pip install -r requirements.txt
python main.py
Build and run individual container
- Build container
- Run container
docker build --tag katanaml/training-service .
docker run -it -d --name training-service katanaml/training-service:latest
Build and run Kubernetes Pod
- Create namespace
- Check available storage class
- Create volume
- Create volume claim
- Create Pod
- Check Pod status
- Open Pod logs, use data-service for sidecar container logs
- Check volume
- Check volume claim
- Execute commands inside container
- Delete Deployment and Volumes
- Delete all resources
kubectl create ns katana-skipper
kubectl get storageclass
kubectl apply -f trainingservice-pv.yaml
kubectl apply -n katana-skipper -f trainingservice-pvc.yaml
kubectl apply -n katana-skipper -f trainingservice-pod.yaml
kubectl get -n katana-skipper pods
kubectl logs -n katana-skipper -f -l app=training-service -c training-main-service
kubectl get pv
kubectl get -n katana-skipper pvc
kubectl exec -it -n katana-skipper -c training-main-service -- bash
kubectl delete -n katana-skipper -f trainingservice-pod.yaml
kubectl delete -n katana-skipper -f trainingservice-pvc.yaml
kubectl delete -f trainingservice-pv.yaml
kubectl delete all --all -n katana-skipper
Katana ML Skipper Serving Service
File Structure
.
- serving_service.py
- main.py
- Dockerfile
- README.md
- servingservice-pv.yaml
- servingservice-pvc.yaml
- servingservice-pod.yaml
- storage_service.py
- Dockerfile
- requirements.txt
- storage_controller.py
- requirements.txt
app
storage
app
Instructions
To run all services, check instructions in Getting Started
Run the service without Docker
- Install libraries
- Start service
- Start storageservice
pip install -r requirements.txt
python main.py
python storage_controller.py
Build and run individual container
- Build container
- Run container
docker build --tag katanaml/serving-service .
docker run -it -d --name serving-service katanaml/serving-service:latest
Build and run Kubernetes Pod
- Create namespace
- Check available storage class
- Create volume
- Create volume claim
- Create Pod
- Check Pod status
- Open Pod logs, use data-service for sidecar container logs
- Check volume
- Check volume claim
- Execute commands inside container
- Scale Pod
- Delete Deployment and Volumes
- Delete all resources
kubectl create ns katana-skipper
kubectl get storageclass
kubectl apply -f servingservice-pv.yaml
kubectl apply -n katana-skipper -f servingservice-pvc.yaml
kubectl apply -n katana-skipper -f servingservice-pod.yaml
kubectl get -n katana-skipper pods
kubectl logs -n katana-skipper -f -l app=serving-service -c serving-main-service
or
kubectl logs -n katana-skipper -f -c serving-main-service
kubectl get pv
kubectl get -n katana-skipper pvc
kubectl exec -it -n katana-skipper -c serving-main-service -- bash
kubectl scale -n katana-skipper deployment serving-service --replicas=3
kubectl delete -n katana-skipper -f servingservice-pod.yaml
kubectl delete -n katana-skipper -f servingservice-pvc.yaml
kubectl delete -f servingservice-pv.yaml
kubectl delete all --all -n katana-skipper
License
Licensed under the Apache License, Version 2.0. Copyright 2020-2021 Katana ML, Andrej Baranovskij. Copy of the license.