mirror of
https://github.com/clearml/clearml-helm-charts
synced 2025-02-07 05:18:11 +00:00
Remove unsupported dynamic svc (#206)
* Removed: unsupported values * Changed: version bump * Changed: removed not needed value * Changed: helm-docs * Removed: unsupported values
This commit is contained in:
parent
876df432d4
commit
5b31ea8599
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: clearml-agent
|
name: clearml-agent
|
||||||
description: MLOps platform Task running agent
|
description: MLOps platform Task running agent
|
||||||
type: application
|
type: application
|
||||||
version: "5.0.0"
|
version: "5.0.1"
|
||||||
appVersion: "1.24"
|
appVersion: "1.24"
|
||||||
kubeVersion: ">= 1.21.0-0 < 1.28.0-0"
|
kubeVersion: ">= 1.21.0-0 < 1.28.0-0"
|
||||||
home: https://clear.ml
|
home: https://clear.ml
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# ClearML Kubernetes Agent
|
# ClearML Kubernetes Agent
|
||||||
|
|
||||||
![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.24](https://img.shields.io/badge/AppVersion-1.24-informational?style=flat-square)
|
![Version: 5.0.1](https://img.shields.io/badge/Version-5.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.24](https://img.shields.io/badge/AppVersion-1.24-informational?style=flat-square)
|
||||||
|
|
||||||
MLOps platform Task running agent
|
MLOps platform Task running agent
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
|||||||
|
|
||||||
| Key | Type | Default | Description |
|
| 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,"containerCustomBashScript":"","containerSecurityContext":{},"customBashScript":"","debugMode":false,"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":"","taskAsJob":false,"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"},"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.additionalClusterRoleBindings | list | `[]` | additional existing ClusterRoleBindings |
|
| agentk8sglue.additionalClusterRoleBindings | list | `[]` | additional existing ClusterRoleBindings |
|
||||||
| agentk8sglue.additionalRoleBindings | list | `[]` | additional existing RoleBindings |
|
| agentk8sglue.additionalRoleBindings | list | `[]` | additional existing RoleBindings |
|
||||||
| agentk8sglue.affinity | object | `{}` | affinity setup for Agent pod (example in values.yaml comments) |
|
| agentk8sglue.affinity | object | `{}` | affinity setup for Agent pod (example in values.yaml comments) |
|
||||||
@ -77,10 +77,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
|||||||
| agentk8sglue.basePodTemplate.volumeMounts | list | `[]` | volume mounts definition for pods spawned to consume ClearML Task (example in values.yaml comments) |
|
| agentk8sglue.basePodTemplate.volumeMounts | list | `[]` | volume mounts definition for pods spawned to consume ClearML Task (example in values.yaml comments) |
|
||||||
| agentk8sglue.basePodTemplate.volumes | list | `[]` | volumes definition for pods spawned to consume ClearML Task (example in values.yaml comments) |
|
| agentk8sglue.basePodTemplate.volumes | list | `[]` | volumes definition for pods spawned to consume ClearML Task (example in values.yaml comments) |
|
||||||
| agentk8sglue.clearmlcheckCertificate | bool | `true` | Check certificates validity for evefry UrlReference below. |
|
| agentk8sglue.clearmlcheckCertificate | bool | `true` | Check certificates validity for evefry UrlReference below. |
|
||||||
| agentk8sglue.containerCustomBashScript | string | `""` | Custom Bash script for the Task Pods ran by Glue Agent |
|
|
||||||
| agentk8sglue.containerSecurityContext | object | `{}` | container securityContext setup for Agent pod (example in values.yaml comments) |
|
| agentk8sglue.containerSecurityContext | object | `{}` | container securityContext setup for Agent pod (example in values.yaml comments) |
|
||||||
| agentk8sglue.customBashScript | string | `""` | Custom Bash script for the Agent pod ran by Glue Agent |
|
|
||||||
| agentk8sglue.debugMode | bool | `false` | Enable Debugging logs for Agent pod |
|
|
||||||
| agentk8sglue.defaultContainerImage | string | `"ubuntu:18.04"` | default container image for ClearML Task pod |
|
| agentk8sglue.defaultContainerImage | string | `"ubuntu:18.04"` | default container image for ClearML Task pod |
|
||||||
| agentk8sglue.extraEnvs | list | `[]` | Extra Environment variables for Glue Agent |
|
| agentk8sglue.extraEnvs | list | `[]` | Extra Environment variables for Glue Agent |
|
||||||
| agentk8sglue.fileMounts | list | `[]` | file definition for Glue Agent (example in values.yaml comments) |
|
| agentk8sglue.fileMounts | list | `[]` | file definition for Glue Agent (example in values.yaml comments) |
|
||||||
@ -92,7 +89,6 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
|||||||
| agentk8sglue.queue | string | `"default"` | ClearML queue this agent will consume |
|
| agentk8sglue.queue | string | `"default"` | ClearML queue this agent will consume |
|
||||||
| agentk8sglue.replicaCount | int | `1` | Glue Agent number of pods |
|
| agentk8sglue.replicaCount | int | `1` | Glue Agent number of pods |
|
||||||
| agentk8sglue.serviceExistingAccountName | string | `""` | if set, don't create a serviceAccountName but use defined existing one |
|
| agentk8sglue.serviceExistingAccountName | string | `""` | if set, don't create a serviceAccountName but use defined existing one |
|
||||||
| agentk8sglue.taskAsJob | bool | `false` | ClearML spawn tasks as jobs instead of pods |
|
|
||||||
| agentk8sglue.tolerations | list | `[]` | tolerations setup for Agent pod (example in values.yaml comments) |
|
| 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) |
|
| agentk8sglue.volumeMounts | list | `[]` | volume mounts definition for Glue Agent (example in values.yaml comments) |
|
||||||
| agentk8sglue.volumes | list | `[]` | volumes definition for Glue Agent (example in values.yaml comments) |
|
| agentk8sglue.volumes | list | `[]` | volumes definition for Glue Agent (example in values.yaml comments) |
|
||||||
@ -112,12 +108,10 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0`
|
|||||||
| imageCredentials.password | string | `"pwd"` | Registry password |
|
| imageCredentials.password | string | `"pwd"` | Registry password |
|
||||||
| imageCredentials.registry | string | `"docker.io"` | Registry name |
|
| imageCredentials.registry | string | `"docker.io"` | Registry name |
|
||||||
| imageCredentials.username | string | `"someone"` | Registry username |
|
| imageCredentials.username | string | `"someone"` | Registry username |
|
||||||
| sessions | object | `{"dynamicSvcs":false,"externalIP":"0.0.0.0","maxServices":20,"portModeEnabled":false,"setInteractiveQueuesTag":true,"startingPort":30000,"svcAnnotations":{},"svcType":"NodePort"}` | Sessions internal service configuration |
|
| sessions | object | `{"externalIP":"0.0.0.0","maxServices":20,"portModeEnabled":false,"startingPort":30000,"svcAnnotations":{},"svcType":"NodePort"}` | Sessions internal service configuration |
|
||||||
| sessions.dynamicSvcs | bool | `false` | Enable/Disable dynamic svc for sessions pods |
|
|
||||||
| sessions.externalIP | string | `"0.0.0.0"` | External IP sessions clients can connect to |
|
| sessions.externalIP | string | `"0.0.0.0"` | External IP sessions clients can connect to |
|
||||||
| sessions.maxServices | int | `20` | maximum number of NodePorts exposed |
|
| sessions.maxServices | int | `20` | maximum number of NodePorts exposed |
|
||||||
| sessions.portModeEnabled | bool | `false` | Enable/Disable sessions portmode WARNING: only one Agent deployment can have this set to true |
|
| sessions.portModeEnabled | bool | `false` | Enable/Disable sessions portmode WARNING: only one Agent deployment can have this set to true |
|
||||||
| sessions.setInteractiveQueuesTag | bool | `true` | set interactive queue tags |
|
|
||||||
| sessions.startingPort | int | `30000` | starting range of exposed NodePorts |
|
| sessions.startingPort | int | `30000` | starting range of exposed NodePorts |
|
||||||
| sessions.svcAnnotations | object | `{}` | specific annotations for session services |
|
| sessions.svcAnnotations | object | `{}` | specific annotations for session services |
|
||||||
| sessions.svcType | string | `"NodePort"` | service type ("NodePort" or "ClusterIP" or "LoadBalancer") |
|
| sessions.svcType | string | `"NodePort"` | service type ("NodePort" or "ClusterIP" or "LoadBalancer") |
|
||||||
|
@ -97,12 +97,6 @@ spec:
|
|||||||
--ports-mode --num-of-services {{ .Values.sessions.maxServices }} \
|
--ports-mode --num-of-services {{ .Values.sessions.maxServices }} \
|
||||||
--base-port {{ .Values.sessions.startingPort }} \
|
--base-port {{ .Values.sessions.startingPort }} \
|
||||||
--gateway-address {{ .Values.sessions.externalIP }}"
|
--gateway-address {{ .Values.sessions.externalIP }}"
|
||||||
{{- if .Values.sessions.dynamicSvcs }}
|
|
||||||
- name: CLEARML_K8S_GLUE_POD_POST_APPLY_CMD
|
|
||||||
value: "kubectl -n {namespace} apply -f ~/template/services-{pod_number}.yaml ; kubectl -n {namespace} label svc clearml-session-{pod_number} service-for={pod_name}"
|
|
||||||
- name: CLEARML_K8S_GLUE_POD_POST_DELETE_CMD
|
|
||||||
value: "kubectl -n {namespace} delete svc -l service-for={pod_name}"
|
|
||||||
{{- end }}
|
|
||||||
{{- else}}
|
{{- else}}
|
||||||
- name: K8S_GLUE_EXTRA_ARGS
|
- name: K8S_GLUE_EXTRA_ARGS
|
||||||
value: "--namespace {{ .Release.Namespace }} --template-yaml /root/template/template.yaml"
|
value: "--namespace {{ .Release.Namespace }} --template-yaml /root/template/template.yaml"
|
||||||
@ -111,10 +105,6 @@ spec:
|
|||||||
- name: CLEARML_CONFIG_FILE
|
- name: CLEARML_CONFIG_FILE
|
||||||
value: /root/clearml.conf
|
value: /root/clearml.conf
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: CLEARML_K8S_GLUE_LIMIT_POD_LABEL
|
|
||||||
value: "ai.allegro.agent.serial=pod-{pod_number}"
|
|
||||||
- name: CLEARML_K8S_SECRETS_LIST_FILE
|
|
||||||
value: /root/template/secrets.yaml
|
|
||||||
- name: K8S_DEFAULT_NAMESPACE
|
- name: K8S_DEFAULT_NAMESPACE
|
||||||
value: "{{ .Release.Namespace }}"
|
value: "{{ .Release.Namespace }}"
|
||||||
- name: CLEARML_API_ACCESS_KEY
|
- name: CLEARML_API_ACCESS_KEY
|
||||||
@ -135,31 +125,6 @@ spec:
|
|||||||
value: ""
|
value: ""
|
||||||
- name: CLEARML_DOCKER_IMAGE
|
- name: CLEARML_DOCKER_IMAGE
|
||||||
value: "{{.Values.agentk8sglue.defaultContainerImage}}"
|
value: "{{.Values.agentk8sglue.defaultContainerImage}}"
|
||||||
{{- if .Values.agentk8sglue.customBashScript }}
|
|
||||||
- name: CLEARML_K8S_GLUE_EXTRA_BASH_SCRIPT
|
|
||||||
value: "{{.Values.agentk8sglue.customBashScript}}"
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.agentk8sglue.containerCustomBashScript }}
|
|
||||||
- name: CLEARML_K8S_GLUE_POD_BASH_SCRIPT
|
|
||||||
value: "{{.Values.agentk8sglue.containerCustomBashScript}}"
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.agentk8sglue.debugMode }}
|
|
||||||
- name: "CLEARML_K8S_GLUE_DEBUG"
|
|
||||||
value: "1"
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.sessions.portModeEnabled }}
|
|
||||||
{{- if .Values.sessions.setInteractiveQueuesTag }}
|
|
||||||
- name: "CLEARML_K8S_GLUE_SET_QUEUE_SYSTEM_TAGS"
|
|
||||||
value: "interactive"
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.agentk8sglue.taskAsJob }}
|
|
||||||
- name: "CLEARML_K8S_GLUE_KIND"
|
|
||||||
value: "job"
|
|
||||||
{{- else }}
|
|
||||||
- name: "CLEARML_K8S_GLUE_KIND"
|
|
||||||
value: "pod"
|
|
||||||
{{- end }}
|
|
||||||
- name: K8S_GLUE_QUEUE
|
- name: K8S_GLUE_QUEUE
|
||||||
value: {{ .Values.agentk8sglue.queue }}
|
value: {{ .Values.agentk8sglue.queue }}
|
||||||
{{- if .Values.agentk8sglue.extraEnvs }}
|
{{- if .Values.agentk8sglue.extraEnvs }}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{{- if .Values.sessions.portModeEnabled }}
|
{{- if .Values.sessions.portModeEnabled }}
|
||||||
{{- if not .Values.sessions.dynamicSvcs }}
|
|
||||||
{{- range untilStep 1 ( ( add .Values.sessions.maxServices 1 ) | int ) 1 }}
|
{{- range untilStep 1 ( ( add .Values.sessions.maxServices 1 ) | int ) 1 }}
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@ -29,4 +28,3 @@ spec:
|
|||||||
ai.allegro.agent.serial: pod-{{ . }}
|
ai.allegro.agent.serial: pod-{{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
|
||||||
|
@ -53,9 +53,6 @@ agentk8sglue:
|
|||||||
# -- Check certificates validity for evefry UrlReference below.
|
# -- Check certificates validity for evefry UrlReference below.
|
||||||
clearmlcheckCertificate: true
|
clearmlcheckCertificate: true
|
||||||
|
|
||||||
# -- Enable Debugging logs for Agent pod
|
|
||||||
debugMode: false
|
|
||||||
|
|
||||||
# -- Reference to Api server url
|
# -- Reference to Api server url
|
||||||
apiServerUrlReference: "https://api.clear.ml"
|
apiServerUrlReference: "https://api.clear.ml"
|
||||||
# -- Reference to File server url
|
# -- Reference to File server url
|
||||||
@ -67,19 +64,12 @@ agentk8sglue:
|
|||||||
defaultContainerImage: ubuntu:18.04
|
defaultContainerImage: ubuntu:18.04
|
||||||
# -- ClearML queue this agent will consume
|
# -- ClearML queue this agent will consume
|
||||||
queue: default
|
queue: default
|
||||||
# -- ClearML spawn tasks as jobs instead of pods
|
|
||||||
taskAsJob: false
|
|
||||||
# -- Custom Bash script for the Glue Agent
|
|
||||||
# -- labels setup for Agent pod (example in values.yaml comments)
|
# -- labels setup for Agent pod (example in values.yaml comments)
|
||||||
labels: {}
|
labels: {}
|
||||||
# schedulerName: scheduler
|
# schedulerName: scheduler
|
||||||
# -- annotations setup for Agent pod (example in values.yaml comments)
|
# -- annotations setup for Agent pod (example in values.yaml comments)
|
||||||
annotations: {}
|
annotations: {}
|
||||||
# key1: value1
|
# key1: value1
|
||||||
# -- Custom Bash script for the Agent pod ran by Glue Agent
|
|
||||||
customBashScript: ""
|
|
||||||
# -- Custom Bash script for the Task Pods ran by Glue Agent
|
|
||||||
containerCustomBashScript: ""
|
|
||||||
# -- Extra Environment variables for Glue Agent
|
# -- Extra Environment variables for Glue Agent
|
||||||
extraEnvs: []
|
extraEnvs: []
|
||||||
# - name: PYTHONPATH
|
# - name: PYTHONPATH
|
||||||
@ -216,8 +206,6 @@ agentk8sglue:
|
|||||||
sessions:
|
sessions:
|
||||||
# -- Enable/Disable sessions portmode WARNING: only one Agent deployment can have this set to true
|
# -- Enable/Disable sessions portmode WARNING: only one Agent deployment can have this set to true
|
||||||
portModeEnabled: false
|
portModeEnabled: false
|
||||||
# -- Enable/Disable dynamic svc for sessions pods
|
|
||||||
dynamicSvcs: false
|
|
||||||
# -- specific annotations for session services
|
# -- specific annotations for session services
|
||||||
svcAnnotations: {}
|
svcAnnotations: {}
|
||||||
# -- service type ("NodePort" or "ClusterIP" or "LoadBalancer")
|
# -- service type ("NodePort" or "ClusterIP" or "LoadBalancer")
|
||||||
@ -228,5 +216,3 @@ sessions:
|
|||||||
startingPort: 30000
|
startingPort: 30000
|
||||||
# -- maximum number of NodePorts exposed
|
# -- maximum number of NodePorts exposed
|
||||||
maxServices: 20
|
maxServices: 20
|
||||||
# -- set interactive queue tags
|
|
||||||
setInteractiveQueuesTag: true
|
|
||||||
|
Loading…
Reference in New Issue
Block a user