|
|
|
|
@@ -1,6 +1,6 @@
|
|
|
|
|
# ClearML Ecosystem for Kubernetes
|
|
|
|
|
|
|
|
|
|
  
|
|
|
|
|
  
|
|
|
|
|
|
|
|
|
|
MLOps platform
|
|
|
|
|
|
|
|
|
|
@@ -10,7 +10,7 @@ MLOps platform
|
|
|
|
|
|
|
|
|
|
| Name | Email | Url |
|
|
|
|
|
| ---- | ------ | --- |
|
|
|
|
|
| valeriano-manassero | | <https://github.com/valeriano-manassero> |
|
|
|
|
|
| filippo-clearml | | <https://github.com/filippo-clearml> |
|
|
|
|
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
|
|
|
|
@@ -25,6 +25,14 @@ It allows multiple users to collaborate and manage their experiments.
|
|
|
|
|
* Querying experiments history, logs and results
|
|
|
|
|
* Locally-hosted file server for storing images and models making them easily accessible using the Web-App
|
|
|
|
|
|
|
|
|
|
## Add to local Helm repository
|
|
|
|
|
|
|
|
|
|
To add this chart to your local Helm repository:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Local environment
|
|
|
|
|
|
|
|
|
|
For development/evaluation it's possible to use [kind](https://kind.sigs.k8s.io).
|
|
|
|
|
@@ -133,7 +141,7 @@ For detailed instructions, see the [Optional Configuration](https://github.com/a
|
|
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
|
|
Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
Kubernetes: `>= 1.21.0-0 < 1.32.0-0`
|
|
|
|
|
|
|
|
|
|
| Repository | Name | Version |
|
|
|
|
|
|------------|------|---------|
|
|
|
|
|
@@ -145,7 +153,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
|
|
|
|
|
| Key | Type | Default | Description |
|
|
|
|
|
|-----|------|---------|-------------|
|
|
|
|
|
| apiserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":null,"enabled":true,"existingAdditionalConfigsConfigMap":"","existingAdditionalConfigsSecret":"","extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"},"ingress":{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"prepopulateEnabled":true,"processes":{"count":8,"maxRequests":1000,"maxRequestsJitter":300,"timeout":24000},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"},"serviceAccountName":"clearml","tolerations":[]}` | Api Server configurations |
|
|
|
|
|
| apiserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":null,"enabled":true,"existingAdditionalConfigsConfigMap":"","existingAdditionalConfigsSecret":"","extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.2-502"},"ingress":{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"prepopulateEnabled":true,"processes":{"count":8,"maxRequests":1000,"maxRequestsJitter":300,"timeout":24000},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"},"serviceAccountName":"clearml","tolerations":[]}` | Api Server configurations |
|
|
|
|
|
| apiserver.additionalConfigs | object | `{}` | files declared in this parameter will be mounted and read by apiserver (examples in values.yaml) if not overridden by existingAdditionalConfigsSecret |
|
|
|
|
|
| apiserver.additionalVolumeMounts | object | `{}` | Specifies where and how the volumes defined in additionalVolumes. |
|
|
|
|
|
| apiserver.additionalVolumes | object | `{}` | # Defines extra Kubernetes volumes to be attached to the pod. |
|
|
|
|
|
@@ -156,7 +164,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
| apiserver.existingAdditionalConfigsConfigMap | string | `""` | reference for files declared in existing ConfigMap will be mounted and read by apiserver (examples in values.yaml) |
|
|
|
|
|
| apiserver.existingAdditionalConfigsSecret | string | `""` | reference for files declared in existing Secret will be mounted and read by apiserver (examples in values.yaml) if not overridden by existingAdditionalConfigsConfigMap |
|
|
|
|
|
| apiserver.extraEnvs | list | `[]` | Api Server extra envrinoment variables |
|
|
|
|
|
| apiserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"}` | Api Server image configuration |
|
|
|
|
|
| apiserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.2-502"}` | Api Server image configuration |
|
|
|
|
|
| apiserver.ingress | object | `{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""}` | Ingress configuration for Api Server component |
|
|
|
|
|
| apiserver.ingress.annotations | object | `{}` | Ingress annotations |
|
|
|
|
|
| apiserver.ingress.enabled | bool | `false` | Enable/Disable ingress |
|
|
|
|
|
@@ -204,7 +212,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
| externalServices.mongodbConnectionStringBackend | string | `"mongodb://mongodb_hostnamehostname:27017/backend"` | Existing MongoDB connection string for AUTH to use if mongodb.enabled is false (example in values.yaml) |
|
|
|
|
|
| externalServices.redisHost | string | `"redis_hostname"` | Existing Redis Hostname to use if redis.enabled is false (example in values.yaml) |
|
|
|
|
|
| externalServices.redisPort | int | `6379` | Existing Redis Port to use if redis.enabled is false |
|
|
|
|
|
| fileserver | object | `{"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"},"ingress":{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"},"serviceAccountName":"clearml","storage":{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true},"tolerations":[]}` | File Server configurations |
|
|
|
|
|
| fileserver | object | `{"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.2-502"},"ingress":{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"},"serviceAccountName":"clearml","storage":{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true},"tolerations":[]}` | File Server configurations |
|
|
|
|
|
| fileserver.additionalVolumeMounts | object | `{}` | Specifies where and how the volumes defined in additionalVolumes. |
|
|
|
|
|
| fileserver.additionalVolumes | object | `{}` | # Defines extra Kubernetes volumes to be attached to the pod. |
|
|
|
|
|
| fileserver.affinity | object | `{}` | File Server affinity setup |
|
|
|
|
|
@@ -212,7 +220,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
| fileserver.deploymentAnnotations | object | `{}` | Add the provided map to the annotations for the Deployment resource created by this chart. |
|
|
|
|
|
| fileserver.enabled | bool | `true` | Enable/Disable component deployment |
|
|
|
|
|
| fileserver.extraEnvs | list | `[]` | File Server extra envrinoment variables |
|
|
|
|
|
| fileserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"}` | File Server image configuration |
|
|
|
|
|
| fileserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.2-502"}` | File Server image configuration |
|
|
|
|
|
| fileserver.ingress | object | `{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""}` | Ingress configuration for File Server component |
|
|
|
|
|
| fileserver.ingress.annotations | object | `{}` | Ingress annotations |
|
|
|
|
|
| fileserver.ingress.enabled | bool | `false` | Enable/Disable ingress |
|
|
|
|
|
@@ -247,7 +255,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
| imageCredentials.username | string | `"someone"` | Registry username |
|
|
|
|
|
| mongodb | object | `{"architecture":"standalone","auth":{"enabled":false},"enabled":true,"persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"50Gi","storageClass":null},"replicaCount":1}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml |
|
|
|
|
|
| redis | object | `{"architecture":"standalone","auth":{"enabled":false},"databaseNumber":0,"enabled":true,"master":{"name":"{{ .Release.Name }}-redis-master","persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"5Gi","storageClass":null},"port":6379}}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/redis/values.yaml |
|
|
|
|
|
| webserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"},"ingress":{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"},"serviceAccountName":"clearml","tolerations":[]}` | Web Server configurations |
|
|
|
|
|
| webserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.2-502"},"ingress":{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"},"serviceAccountName":"clearml","tolerations":[]}` | Web Server configurations |
|
|
|
|
|
| webserver.additionalConfigs | object | `{}` | Additional specific webserver configurations |
|
|
|
|
|
| webserver.additionalVolumeMounts | object | `{}` | Specifies where and how the volumes defined in additionalVolumes. |
|
|
|
|
|
| webserver.additionalVolumes | object | `{}` | # Defines extra Kubernetes volumes to be attached to the pod. |
|
|
|
|
|
@@ -256,7 +264,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
|
|
|
|
|
| webserver.deploymentAnnotations | object | `{}` | Add the provided map to the annotations for the Deployment resource created by this chart. |
|
|
|
|
|
| webserver.enabled | bool | `true` | Enable/Disable component deployment |
|
|
|
|
|
| webserver.extraEnvs | list | `[]` | Web Server extra envrinoment variables |
|
|
|
|
|
| webserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"}` | Web Server image configuration |
|
|
|
|
|
| webserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.2-502"}` | Web Server image configuration |
|
|
|
|
|
| webserver.ingress | object | `{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""}` | Ingress configuration for Web Server component |
|
|
|
|
|
| webserver.ingress.annotations | object | `{}` | Ingress annotations |
|
|
|
|
|
| webserver.ingress.enabled | bool | `false` | Enable/Disable ingress |
|
|
|
|
|
|