Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

21 modular install #36

Merged
merged 20 commits into from
Apr 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ce5c4bc
update contributors file
JoaquinRivesGambin Apr 15, 2024
483579d
refactor to allow a more modular installation with different componen…
JoaquinRivesGambin Apr 15, 2024
1bf9fe3
update tutorials and add a demo notebook for the KFP option
JoaquinRivesGambin Apr 15, 2024
f665163
add uninstall script
JoaquinRivesGambin Apr 15, 2024
4e1961f
update gcp quickstart tutorial
JoaquinRivesGambin Apr 15, 2024
18afabf
change default mlflow bucket name
JoaquinRivesGambin Apr 18, 2024
ce71062
complete kubeflow envs readmes
JoaquinRivesGambin Apr 18, 2024
a28fbd1
clear notebooks outputs
JoaquinRivesGambin Apr 18, 2024
88b516d
typo
JoaquinRivesGambin Apr 18, 2024
19d98e6
typo
JoaquinRivesGambin Apr 18, 2024
0a7015b
improve note
JoaquinRivesGambin Apr 18, 2024
32543ef
typo and add link to University of Helsinki
JoaquinRivesGambin Apr 18, 2024
0476eda
fix typo DISK_SPACE
JoaquinRivesGambin Apr 18, 2024
789b0ac
add components dir to avoid error when dir doesn't exist
JoaquinRivesGambin Apr 18, 2024
afe605a
fix standalone-kfp-kserve install option to correct kubeflow-custom k…
JoaquinRivesGambin Apr 18, 2024
64ebfcb
lower RECOMMENDED_DISK_SPACE_KFP to 18Gb
JoaquinRivesGambin Apr 18, 2024
f20f8ae
add minimum recomended machine requirements info in setup.md
JoaquinRivesGambin Apr 18, 2024
6a47f97
add info about the extra CPUs required when prompting the user about …
JoaquinRivesGambin Apr 18, 2024
5392e47
adapt tests to standalone KFP
JoaquinRivesGambin Apr 19, 2024
7b7e29d
fix inference demo_pipeline_standalone_kfp
JoaquinRivesGambin Apr 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,5 @@ tutorials/openstack/secure.yaml
# Others
old/
istio*
temp/
temp/
.platform/
8 changes: 5 additions & 3 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This file lists all the individuals who have contributed to this project. Thanks to each and every one of you for your valuable contributions!

### Silo AI:
### [Silo AI](https://www.silo.ai/):

Original project leads and main developers:

Expand Down Expand Up @@ -40,12 +40,14 @@ Other developers and testers of the platform:
- Kristian Sikiric
- Kaustav Tamuly
- Jonathan Burdge
- Ammar Aldhahyani

### IML4E project and other contributors:
### [IML4E](https://itea4.org/project/iml4e.html) project and other contributors:

Univerwity of Helsinki:
[University of Helsinki](https://www.helsinki.fi/en/researchgroups/empirical-software-engineering):

- Niila Siilasjoki
- Dennis Muiruri

Fraunhofer Institute:

Expand Down
4 changes: 1 addition & 3 deletions config.env
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
HOST_IP="127.0.0.1"
CLUSTER_NAME="kind-ep"
INSTALL_LOCAL_REGISTRY="true"
INSTALL_RAY="false"
CLUSTER_NAME="mlops-platform"
14 changes: 13 additions & 1 deletion deployment/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
## Deploy the stack

Choose the deployment option that best fits your needs:
1. `kubeflow-monitoring`: Full Kubeflow deployment with all components.
2. `kubeflow`: Full Kubeflow deployment without monitoring components (prometheus, grafana).
3. `standalone-kfp-monitoring`: Standalone KFP deployment.
4. `standalone-kfp`: Standalone KFP deployment without monitoring components (prometheus, grafana).
5. `standalone-kfp-kserve-monitoring`: Standalone KFP and Kserve deployment.
6. `standalone-kfp-kserve`: Standalone KFP and Kserve deployment without monitoring components (prometheus, grafana).

```bash
export DEPLOYMENT_OPTION=kubeflow-monitoring
```

Deploy to your kubernetes cluster with the following command:

```bash
while ! kustomize build deployment | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done
while ! kustomize build "deployment/envs/$DEPLOYMENT_OPTION" | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done
```
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: v1
kind: Secret
metadata:
name: mysecret
namespace: kubeflow-user-example-com
annotations:
serving.kserve.io/s3-endpoint: mlflow-minio-service.mlflow.svc.cluster.local:9000
serving.kserve.io/s3-usehttps: "0"
Expand All @@ -15,6 +14,5 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: kserve-sa
namespace: kubeflow-user-example-com
secrets:
- name: mysecret
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- aws-secret.yaml
- kserve-sa.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kubeflow-user-example-com

resources:
- ../../base
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: kserve-inference
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kserve-inference

resources:
- ../../base
- kserve-inference-namespace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: v1
kind: Secret
metadata:
name: aws-secret
namespace: kubeflow-user-example-com
type: Opaque
data:
# your BASE64 encoded AWS_ACCESS_KEY_ID
Expand Down
5 changes: 5 additions & 0 deletions deployment/custom/kubeflow-custom/base/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- aws-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kubeflow-user-example-com

resources:
- ../../base
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Required for deploy model to have the necessery permissions to create inference services

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kserve-deployer
rules:
- verbs:
- '*'
apiGroups:
- ''
resources:
- secrets
- serviceaccounts
- verbs:
- get
- watch
- list
apiGroups:
- ''
resources:
- configmaps
- verbs:
- '*'
apiGroups:
- ''
resources:
- persistentvolumes
- persistentvolumeclaims
- verbs:
- create
- delete
- get
apiGroups:
- snapshot.storage.k8s.io
resources:
- volumesnapshots
- verbs:
- get
- list
- watch
- update
- patch
apiGroups:
- argoproj.io
resources:
- workflows
- verbs:
- '*'
apiGroups:
- ''
resources:
- pods
- pods/exec
- pods/log
- services
- verbs:
- '*'
apiGroups:
- ''
- apps
- extensions
resources:
- deployments
- replicasets
- verbs:
- '*'
apiGroups:
- kubeflow.org
resources:
- '*'
- verbs:
- '*'
apiGroups:
- batch
resources:
- jobs
- verbs:
- '*'
apiGroups:
- machinelearning.seldon.io
resources:
- seldondeployments
- verbs:
- '*'
apiGroups:
- serving.kserve.io
resources:
- '*'
- verbs:
- '*'
apiGroups:
- networking.istio.io
resources:
- '*'
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: pipeline-runner-binding-cluster
labels:
application-crd-id: kubeflow-pipelines
subjects:
- kind: ServiceAccount
name: pipeline-runner
namespace: kubeflow
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kserve-deployer
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kubeflow

resources:
- ../../base
- kserve-deployer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kubeflow

resources:
- ../../base
9 changes: 9 additions & 0 deletions deployment/envs/kubeflow-monitoring/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../kubeflow/manifests/in-cluster-setup/kubeflow
- ../../custom/kubeflow-custom/env/kubeflow
- ../../custom/kserve-custom/env/kubeflow
- ../../mlflow/env/local
- ../../monitoring
8 changes: 8 additions & 0 deletions deployment/envs/kubeflow/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../kubeflow/manifests/in-cluster-setup/kubeflow
- ../../custom/kubeflow-custom/env/kubeflow
- ../../custom/kserve-custom/env/kubeflow
- ../../mlflow/env/local
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../kubeflow/manifests/in-cluster-setup/standalone-kfp-kserve
- ../../custom/kubeflow-custom/env/standalone-kfp-kserve
- ../../custom/kserve-custom/env/standalone-kfp
- ../../mlflow/env/local
- ../../monitoring
8 changes: 8 additions & 0 deletions deployment/envs/standalone-kfp-kserve/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../kubeflow/manifests/in-cluster-setup/standalone-kfp-kserve
- ../../custom/kubeflow-custom/env/standalone-kfp-kserve
- ../../custom/kserve-custom/env/standalone-kfp
- ../../mlflow/env/local
8 changes: 8 additions & 0 deletions deployment/envs/standalone-kfp-monitoring/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../kubeflow/manifests/in-cluster-setup/standalone-kfp
- ../../custom/kubeflow-custom/env/standalone-kfp
- ../../mlflow/env/local
- ../../monitoring
7 changes: 7 additions & 0 deletions deployment/envs/standalone-kfp/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../kubeflow/manifests/in-cluster-setup/standalone-kfp
- ../../custom/kubeflow-custom/env/standalone-kfp
- ../../mlflow/env/local
10 changes: 10 additions & 0 deletions deployment/kubeflow/manifests/in-cluster-setup/kubeflow/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Kubeflow

Components:
- Multiuser isolation
- Central Dashboard
- Jupyter Notebooks
- Kubeflow Pipelines (KFP)
- Kserve
- Katib
- TensorBoard
Loading