A tribe project to build a Model Platform
- Build a project as a team
- Test, identify, consolidate convictions on model management at scale
- Be as portable as possible
- Use opensource technologies
Vision
For models developers, so that they can focus on building the best model, we offer a model platform that can version, deploy, host, govern models with as few configuration as possible
For application developers, so that they can integrate models seamlessly, we offer a model platform that can provide a simple API to call.
A working minikube is needed for dev purposes
brew install minikube kubectl
Install helm
brew install helm
Start minikube cluster with recommended specs
#recommended configuration to avoid freezing/timeouts
minikube start --cpus 2 --memory 7800 --disk-size 50g
(You may need to start colima with custom config)
colima start --cpu 4 --memory 8
Activate Ingress controller add-on
minikube addons enable ingress
Activate ssh tunnel to you minikube cluster
minikube tunnel
Add the following line to your /etc/hosts
# Mac
127.0.0.1 model-platform.com
# Linux
minikube ip
IP.RESULT model-platform.com
Some values are used (pgsql password etc...) in the init scripts !!
Use the .env.example
make k8s-network-conf
Add bitnami pgsql repo to helm
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
make k8s-pgsql
It will output a lot of logs, don't worry.
With integrated psycopg2 package
make build-mlflow
You should now have a working k8s environment
make k8s-modelplatform
Via fronted
http://model-platform.com
or
mp login --username XXXXX --password XXXX
Root account is the one you set in the .env file
Error executing docker build: [Errno 2] No such file or directory: 'docker'
Run
minikube docker-env
#Check if same in .env
if not update and run
k8s-modelplatform
You will need to install nektos act https://nektosact.com/installation/
#mac ARM
make run-ci-arm
or
#Intel processors
make run-ci-amd
Access the pgsql via local db client
Run
kubectl port-forward svc/modelplatform-pgsql-postgresql 5432:5432 -n pgsql
Add to you db client
host: localhost
port: 5432
user: postgres
password: your_postgres_password
db: model_platform_db
you can now access the model_platform_db database