Logo v1.0.0
  • GitHub
  • Katana ML
Logo v1.0.0
  • Documentation
  • Introduction
  • Skipper
  • Getting Started
  • API
  • Workflow
  • Services
  • RabbitMQ
  • Skipper Lib
  • Logger

Katana ML Skipper Data Service

File Structure

.
    app
    • data_service.py
  • main.py
  • Dockerfile
  • README.md
  • requirements.txt

Instructions

To run all services, check instructions in Getting Started

Run the service without Docker

  1. Install libraries
  2. pip install -r requirements.txt
  3. Start service
  4. python main.py

Build and run individual container

  1. Build container
  2. docker build --tag katanaml/data-service .
  3. Run container
  4. docker run -it -d --name data-service katanaml/data-service:latest

Katana ML Skipper Model Training Service

File Structure

.
    app
    • training_service.py
  • main.py
  • Dockerfile
  • README.md
  • trainingservice-pv.yaml
  • trainingservice-pvc.yaml
  • trainingservice-pod.yaml
  • requirements.txt

Instructions

To run all services, check instructions in Getting Started

Run the service without Docker

  1. Install libraries
  2. pip install -r requirements.txt
  3. Start service
  4. python main.py

Build and run individual container

  1. Build container
  2. docker build --tag katanaml/training-service .
  3. Run container
  4. docker run -it -d --name training-service katanaml/training-service:latest

Build and run Kubernetes Pod

  1. Create namespace
  2. kubectl create ns katana-skipper
  3. Check available storage class
  4. kubectl get storageclass
  5. Create volume
  6. kubectl apply -f trainingservice-pv.yaml
  7. Create volume claim
  8. kubectl apply -n katana-skipper -f trainingservice-pvc.yaml
  9. Create Pod
  10. kubectl apply -n katana-skipper -f trainingservice-pod.yaml
  11. Check Pod status
  12. kubectl get -n katana-skipper pods
  13. Open Pod logs, use data-service for sidecar container logs
  14. kubectl logs -n katana-skipper -f -l app=training-service -c training-main-service
  15. Check volume
  16. kubectl get pv
  17. Check volume claim
  18. kubectl get -n katana-skipper pvc
  19. Execute commands inside container
  20. kubectl exec -it -n katana-skipper -c training-main-service -- bash
  21. Delete Deployment and Volumes
  22. kubectl delete -n katana-skipper -f trainingservice-pod.yaml
    kubectl delete -n katana-skipper -f trainingservice-pvc.yaml
    kubectl delete -f trainingservice-pv.yaml
  23. Delete all resources
  24. kubectl delete all --all -n katana-skipper

Katana ML Skipper Serving Service

File Structure

.
    app
    • serving_service.py
  • main.py
  • Dockerfile
  • README.md
  • servingservice-pv.yaml
  • servingservice-pvc.yaml
  • servingservice-pod.yaml
  • storage
      app
      • storage_service.py
    • Dockerfile
    • requirements.txt
    • storage_controller.py
  • requirements.txt

Instructions

To run all services, check instructions in Getting Started

Run the service without Docker

  1. Install libraries
  2. pip install -r requirements.txt
  3. Start service
  4. python main.py
  5. Start storageservice
  6. python storage_controller.py

Build and run individual container

  1. Build container
  2. docker build --tag katanaml/serving-service .
  3. Run container
  4. docker run -it -d --name serving-service katanaml/serving-service:latest

Build and run Kubernetes Pod

  1. Create namespace
  2. kubectl create ns katana-skipper
  3. Check available storage class
  4. kubectl get storageclass
  5. Create volume
  6. kubectl apply -f servingservice-pv.yaml
  7. Create volume claim
  8. kubectl apply -n katana-skipper -f servingservice-pvc.yaml
  9. Create Pod
  10. kubectl apply -n katana-skipper -f servingservice-pod.yaml
  11. Check Pod status
  12. kubectl get -n katana-skipper pods
  13. Open Pod logs, use data-service for sidecar container logs
  14. 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
  15. Check volume
  16. kubectl get pv
  17. Check volume claim
  18. kubectl get -n katana-skipper pvc
  19. Execute commands inside container
  20. kubectl exec -it -n katana-skipper -c serving-main-service -- bash
  21. Scale Pod
  22. kubectl scale -n katana-skipper deployment serving-service --replicas=3
  23. Delete Deployment and Volumes
  24. kubectl delete -n katana-skipper -f servingservice-pod.yaml
    kubectl delete -n katana-skipper -f servingservice-pvc.yaml
    kubectl delete -f servingservice-pv.yaml
  25. Delete all resources
  26. 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.