mirror of
https://github.com/clearml/clearml-helm-charts
synced 2025-04-17 01:31:13 +00:00
Compare commits
3 Commits
clearml-se
...
clearml-ag
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b5cc58675 | ||
|
|
63bc2c944c | ||
|
|
2080cae5e8 |
@@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: clearml-agent
|
||||
description: MLOps platform Task running agent
|
||||
type: application
|
||||
version: "5.0.1"
|
||||
version: "5.1.0"
|
||||
appVersion: "1.24"
|
||||
kubeVersion: ">= 1.21.0-0 < 1.28.0-0"
|
||||
home: https://clear.ml
|
||||
@@ -20,5 +20,5 @@ keywords:
|
||||
- "task agent"
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- kind: changed
|
||||
description: removed support for enterprise features due to chart split
|
||||
- kind: added
|
||||
description: resource parameters for agentk8sglue
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# ClearML Kubernetes Agent
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
MLOps platform Task running agent
|
||||
|
||||
@@ -53,7 +53,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| agentk8sglue | object | `{"additionalClusterRoleBindings":[],"additionalRoleBindings":[],"affinity":{},"annotations":{},"apiServerUrlReference":"https://api.clear.ml","basePodTemplate":{"affinity":{},"annotations":{},"containerSecurityContext":{},"env":[],"fileMounts":[],"hostAliases":[],"initContainers":[],"labels":{},"nodeSelector":{},"podSecurityContext":{},"priorityClassName":"","resources":{},"schedulerName":"","tolerations":[],"volumeMounts":[],"volumes":[]},"clearmlcheckCertificate":true,"containerSecurityContext":{},"defaultContainerImage":"ubuntu:18.04","extraEnvs":[],"fileMounts":[],"fileServerUrlReference":"https://files.clear.ml","image":{"registry":"","repository":"allegroai/clearml-agent-k8s-base","tag":"1.24-21"},"labels":{},"nodeSelector":{},"podSecurityContext":{},"queue":"default","replicaCount":1,"serviceExistingAccountName":"","tolerations":[],"volumeMounts":[],"volumes":[],"webServerUrlReference":"https://app.clear.ml"}` | This agent will spawn queued experiments in new pods, a good use case is to combine this with GPU autoscaling nodes. https://github.com/allegroai/clearml-agent/tree/master/docker/k8s-glue |
|
||||
| agentk8sglue | object | `{"additionalClusterRoleBindings":[],"additionalRoleBindings":[],"affinity":{},"annotations":{},"apiServerUrlReference":"https://api.clear.ml","basePodTemplate":{"affinity":{},"annotations":{},"containerSecurityContext":{},"env":[],"fileMounts":[],"hostAliases":[],"initContainers":[],"labels":{},"nodeSelector":{},"podSecurityContext":{},"priorityClassName":"","resources":{},"schedulerName":"","tolerations":[],"volumeMounts":[],"volumes":[]},"clearmlcheckCertificate":true,"containerSecurityContext":{},"defaultContainerImage":"ubuntu:18.04","extraEnvs":[],"fileMounts":[],"fileServerUrlReference":"https://files.clear.ml","image":{"registry":"","repository":"allegroai/clearml-agent-k8s-base","tag":"1.24-21"},"initContainers":{"resources":{}},"labels":{},"nodeSelector":{},"podSecurityContext":{},"queue":"default","replicaCount":1,"resources":{},"serviceExistingAccountName":"","tolerations":[],"volumeMounts":[],"volumes":[],"webServerUrlReference":"https://app.clear.ml"}` | This agent will spawn queued experiments in new pods, a good use case is to combine this with GPU autoscaling nodes. https://github.com/allegroai/clearml-agent/tree/master/docker/k8s-glue |
|
||||
| agentk8sglue.additionalClusterRoleBindings | list | `[]` | additional existing ClusterRoleBindings |
|
||||
| agentk8sglue.additionalRoleBindings | list | `[]` | additional existing RoleBindings |
|
||||
| agentk8sglue.affinity | object | `{}` | affinity setup for Agent pod (example in values.yaml comments) |
|
||||
@@ -83,11 +83,14 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
||||
| agentk8sglue.fileMounts | list | `[]` | file definition for Glue Agent (example in values.yaml comments) |
|
||||
| agentk8sglue.fileServerUrlReference | string | `"https://files.clear.ml"` | Reference to File server url |
|
||||
| agentk8sglue.image | object | `{"registry":"","repository":"allegroai/clearml-agent-k8s-base","tag":"1.24-21"}` | Glue Agent image configuration |
|
||||
| agentk8sglue.initContainers | object | `{"resources":{}}` | Glue Agent pod initContainers configs |
|
||||
| agentk8sglue.initContainers.resources | object | `{}` | Glue Agent initcontainers pod resources |
|
||||
| agentk8sglue.labels | object | `{}` | labels setup for Agent pod (example in values.yaml comments) |
|
||||
| agentk8sglue.nodeSelector | object | `{}` | nodeSelector setup for Agent pod (example in values.yaml comments) |
|
||||
| agentk8sglue.podSecurityContext | object | `{}` | container securityContext setup for Agent pod (example in values.yaml comments) |
|
||||
| agentk8sglue.queue | string | `"default"` | ClearML queue this agent will consume |
|
||||
| agentk8sglue.replicaCount | int | `1` | Glue Agent number of pods |
|
||||
| agentk8sglue.resources | object | `{}` | Glue Agent pod resources |
|
||||
| agentk8sglue.serviceExistingAccountName | string | `""` | if set, don't create a serviceAccountName but use defined existing one |
|
||||
| agentk8sglue.tolerations | list | `[]` | tolerations setup for Agent pod (example in values.yaml comments) |
|
||||
| agentk8sglue.volumeMounts | list | `[]` | volume mounts definition for Glue Agent (example in values.yaml comments) |
|
||||
|
||||
@@ -17,7 +17,7 @@ data:
|
||||
{{- if .Values.imageCredentials.existingSecret }}
|
||||
- name: {{ .Values.imageCredentials.existingSecret }}
|
||||
{{- else }}
|
||||
- name: name: {{ include "clearmlAgent.fullname" $ }}-ark
|
||||
- name: {{ include "clearmlAgent.fullname" $ }}-ark
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.agentk8sglue.basePodTemplate.volumes }}
|
||||
|
||||
@@ -52,6 +52,8 @@ spec:
|
||||
done
|
||||
securityContext:
|
||||
{{ toYaml .Values.agentk8sglue.containerSecurityContext | nindent 12 }}
|
||||
resources:
|
||||
{{- toYaml .Values.agentk8sglue.initContainers.resources | nindent 12 }}
|
||||
containers:
|
||||
- name: k8s-glue
|
||||
image: "{{ include "registryNamePrefix" (dict "globalValues" .Values.global "imageRegistryValue" .Values.agentk8sglue.image.registry) }}{{ .Values.agentk8sglue.image.repository }}:{{ .Values.agentk8sglue.image.tag }}"
|
||||
@@ -132,6 +134,8 @@ spec:
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{ toYaml .Values.agentk8sglue.containerSecurityContext | nindent 12 }}
|
||||
resources:
|
||||
{{- toYaml .Values.agentk8sglue.resources | nindent 12 }}
|
||||
{{- with .Values.agentk8sglue.nodeSelector}}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
||||
@@ -47,6 +47,14 @@ agentk8sglue:
|
||||
# -- Glue Agent number of pods
|
||||
replicaCount: 1
|
||||
|
||||
# -- Glue Agent pod resources
|
||||
resources: {}
|
||||
|
||||
# -- Glue Agent pod initContainers configs
|
||||
initContainers:
|
||||
# -- Glue Agent initcontainers pod resources
|
||||
resources: {}
|
||||
|
||||
# -- if set, don't create a serviceAccountName but use defined existing one
|
||||
serviceExistingAccountName: ""
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: clearml
|
||||
description: MLOps platform
|
||||
type: application
|
||||
version: "7.2.0"
|
||||
version: "7.2.1"
|
||||
appVersion: "1.11.0"
|
||||
kubeVersion: ">= 1.21.0-0 < 1.28.0-0"
|
||||
home: https://clear.ml
|
||||
@@ -32,5 +32,5 @@ dependencies:
|
||||
condition: elasticsearch.enabled
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- kind: added
|
||||
description: initContainers resources definition
|
||||
- kind: changed
|
||||
description: existing additional Secret management
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# ClearML Ecosystem for Kubernetes
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
MLOps platform
|
||||
|
||||
@@ -179,7 +179,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
||||
| apiserver.service.annotations | object | `{}` | specific annotation for Api Server service |
|
||||
| apiserver.service.nodePort | int | `30008` | If service.type set to NodePort, this will be set to service's nodePort field. If service.type is set to others, this field will be ignored |
|
||||
| apiserver.tolerations | list | `[]` | Api Server tolerations setup |
|
||||
| clearml | object | `{"apiserverKey":"GGS9F4M6XB2DXJ5AFT9F","apiserverSecret":"2oGujVFhPfaozhpuz2GzQfA5OyxmMsR3WVJpsCR5hrgHFs20PO","clientConfigurationApiUrl":"","clientConfigurationFilesUrl":"","cookieDomain":"","cookieName":"clearml-token-k8s","defaultCompany":"d1bd92a3b039400cbafc60a7a5b1e52b","fileserverKey":"XXCRJ123CEE2KSQ068WO","fileserverSecret":"YIy8EVAC7QCT4FtgitxAQGyW7xRHDZ4jpYlTE7HKiscpORl1hG","readinessprobeKey":"GK4PRTVT3706T25K6BA1","readinessprobeSecret":"ymLh1ok5k5xNUQfS944Xdx9xjf0wueokqKM2dMZfHuH9ayItG2","secureAuthTokenSecret":"ymLh1ok5k5xNUQfS944Xdx9xjf0wueokqKM2dMZfHuH9ayItG2","testUserKey":"ENP39EQM4SLACGD5FXB7","testUserSecret":"lPcm0imbcBZ8mwgO7tpadutiS3gnJD05x9j7afwXPS35IKbpiQ"}` | ClearMl generic configurations |
|
||||
| clearml | object | `{"apiserverKey":"GGS9F4M6XB2DXJ5AFT9F","apiserverSecret":"2oGujVFhPfaozhpuz2GzQfA5OyxmMsR3WVJpsCR5hrgHFs20PO","clientConfigurationApiUrl":"","clientConfigurationFilesUrl":"","cookieDomain":"","cookieName":"clearml-token-k8s","defaultCompany":"d1bd92a3b039400cbafc60a7a5b1e52b","existingSecret":"","fileserverKey":"XXCRJ123CEE2KSQ068WO","fileserverSecret":"YIy8EVAC7QCT4FtgitxAQGyW7xRHDZ4jpYlTE7HKiscpORl1hG","readinessprobeKey":"GK4PRTVT3706T25K6BA1","readinessprobeSecret":"ymLh1ok5k5xNUQfS944Xdx9xjf0wueokqKM2dMZfHuH9ayItG2","secureAuthTokenSecret":"ymLh1ok5k5xNUQfS944Xdx9xjf0wueokqKM2dMZfHuH9ayItG2","testUserKey":"ENP39EQM4SLACGD5FXB7","testUserSecret":"lPcm0imbcBZ8mwgO7tpadutiS3gnJD05x9j7afwXPS35IKbpiQ"}` | ClearMl generic configurations |
|
||||
| clearml.apiserverKey | string | `"GGS9F4M6XB2DXJ5AFT9F"` | Api Server basic auth key |
|
||||
| clearml.apiserverSecret | string | `"2oGujVFhPfaozhpuz2GzQfA5OyxmMsR3WVJpsCR5hrgHFs20PO"` | Api Server basic auth secret |
|
||||
| clearml.clientConfigurationApiUrl | string | `""` | Override the API Urls displayed when showing an example of the SDK's clearml.conf configuration |
|
||||
@@ -187,6 +187,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
||||
| clearml.cookieDomain | string | `""` | Cookie domain to be left empty if not exposed with an ingress |
|
||||
| clearml.cookieName | string | `"clearml-token-k8s"` | Name fo the UI cookie |
|
||||
| clearml.defaultCompany | string | `"d1bd92a3b039400cbafc60a7a5b1e52b"` | Company name |
|
||||
| clearml.existingSecret | string | `""` | Pass Clearml secrets using an existing secret must contain the keys: apiserver_key, apiserver_secret, secure_auth_token_secret, test_user_key, test_user_secret |
|
||||
| clearml.fileserverKey | string | `"XXCRJ123CEE2KSQ068WO"` | File Server basic auth key |
|
||||
| clearml.fileserverSecret | string | `"YIy8EVAC7QCT4FtgitxAQGyW7xRHDZ4jpYlTE7HKiscpORl1hG"` | File Server basic auth secret |
|
||||
| clearml.readinessprobeKey | string | `"GK4PRTVT3706T25K6BA1"` | Readiness probe basic auth key |
|
||||
|
||||
@@ -153,6 +153,13 @@ Create readiness probe auth token
|
||||
{{- printf "%s:%s" .Values.clearml.readinessprobeKey .Values.clearml.readinessprobeSecret | b64enc }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create configuration secret name
|
||||
*/}}
|
||||
{{- define "clearml.confSecretName" }}
|
||||
{{- if .Values.clearml.existingSecret -}} {{ default "clearml-conf" .Values.clearml.existingSecret | quote }} {{- else -}} "clearml-conf" {{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Elasticsearch Service name
|
||||
*/}}
|
||||
|
||||
@@ -116,17 +116,17 @@ spec:
|
||||
- name: CLEARML__secure__credentials__apiserver__user_key
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: clearml-conf
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: apiserver_key
|
||||
- name: CLEARML__secure__credentials__apiserver__user_secret
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: clearml-conf
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: apiserver_secret
|
||||
- name: CLEARML__secure__auth__token_secret
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: clearml-conf
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: secure_auth_token_secret
|
||||
{{- if .Values.apiserver.prepopulateEnabled }}
|
||||
- name: CLEARML__APISERVER__PRE_POPULATE__ENABLED
|
||||
@@ -137,12 +137,12 @@ spec:
|
||||
- name: CLEARML__SECURE__CREDENTIALS__TESTS__USER_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "clearml-conf"
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: test_user_key
|
||||
- name: CLEARML__SECURE__CREDENTIALS__TESTS__USER_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "clearml-conf"
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: test_user_secret
|
||||
- name: CLEARML_ENV
|
||||
value: "helm-cloud"
|
||||
|
||||
@@ -82,12 +82,12 @@ spec:
|
||||
- name: USER_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: clearml-conf
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: fileserver_key
|
||||
- name: USER_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: clearml-conf
|
||||
secretKeyRef:
|
||||
name: {{ include "clearml.confSecretName" .}}
|
||||
key: fileserver_secret
|
||||
{{- if .Values.fileserver.extraEnvs }}
|
||||
{{ toYaml .Values.fileserver.extraEnvs | nindent 10 }}
|
||||
|
||||
@@ -48,6 +48,9 @@ clearml:
|
||||
clientConfigurationApiUrl: ""
|
||||
# -- Override the Files Urls displayed when showing an example of the SDK's clearml.conf configuration
|
||||
clientConfigurationFilesUrl: ""
|
||||
# -- Pass Clearml secrets using an existing secret
|
||||
# must contain the keys: apiserver_key, apiserver_secret, secure_auth_token_secret, test_user_key, test_user_secret
|
||||
existingSecret: ""
|
||||
|
||||
# -- Api Server configurations
|
||||
apiserver:
|
||||
|
||||
Reference in New Issue
Block a user