mirror of
https://github.com/clearml/clearml-helm-charts
synced 2025-04-17 01:31:13 +00:00
Fix full name and nonroot pod template (#188)
* Fixed: typo * Added: /tmp env var * Changed: use fullname * Fixed: fullname usage
This commit is contained in:
parent
6d9771be41
commit
957b7b2423
@ -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: "4.0.1"
|
version: "4.0.2"
|
||||||
appVersion: "1.24"
|
appVersion: "1.24"
|
||||||
kubeVersion: ">= 1.21.0-0 < 1.27.0-0"
|
kubeVersion: ">= 1.21.0-0 < 1.27.0-0"
|
||||||
home: https://clear.ml
|
home: https://clear.ml
|
||||||
@ -20,6 +20,7 @@ keywords:
|
|||||||
- "task agent"
|
- "task agent"
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: changed
|
- kind: fixed
|
||||||
description: informational stuff refactoring
|
description: extra envs in base pod template
|
||||||
|
- kind: fixed
|
||||||
|
description: fullname usage
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# ClearML Kubernetes Agent
|
# ClearML Kubernetes Agent
|
||||||
|
|
||||||
  
|
  
|
||||||
|
|
||||||
MLOps platform Task running agent
|
MLOps platform Task running agent
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ Enabling this features on OSS version can cause the entire installation to break
|
|||||||
In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers.
|
In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers.
|
||||||
In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file.
|
In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file.
|
||||||
|
|
||||||
Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python and pip installed.
|
Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python, pip and git installed.
|
||||||
|
|
||||||
## Source Code
|
## Source Code
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ Enabling this features on OSS version can cause the entire installation to break
|
|||||||
In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers.
|
In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers.
|
||||||
In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file.
|
In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file.
|
||||||
|
|
||||||
Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python and pip installed.
|
Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python, pip and git installed.
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
{{ template "chart.sourcesSection" . }}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,25 @@
|
|||||||
Expand the name of the chart.
|
Expand the name of the chart.
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "clearmlAgent.name" -}}
|
{{- define "clearmlAgent.name" -}}
|
||||||
{{- .Release.Name | trunc 59 | trimSuffix "-" }}
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "clearmlAgent.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
@ -40,7 +58,7 @@ Common annotations
|
|||||||
Selector labels
|
Selector labels
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "clearmlAgent.selectorLabels" -}}
|
{{- define "clearmlAgent.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearmlAgent.name" . }}
|
app.kubernetes.io/name: {{ include "clearmlAgent.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -48,8 +66,8 @@ app.kubernetes.io/instance: {{ .Release.Name }}
|
|||||||
Selector labels (agentk8sglue)
|
Selector labels (agentk8sglue)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "agentk8sglue.selectorLabels" -}}
|
{{- define "agentk8sglue.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearmlAgent.name" . }}
|
app.kubernetes.io/name: {{ include "clearmlAgent.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ include "clearmlAgent.name" . }}
|
app.kubernetes.io/instance: {{ include "clearmlAgent.fullname" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
@ -75,7 +93,7 @@ Create the name of the service account to use
|
|||||||
{{- if .Values.agentk8sglue.serviceExistingAccountName }}
|
{{- if .Values.agentk8sglue.serviceExistingAccountName }}
|
||||||
{{- .Values.agentk8sglue.serviceExistingAccountName }}
|
{{- .Values.agentk8sglue.serviceExistingAccountName }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{- include "clearmlAgent.name" . }}-sa
|
{{- include "clearmlAgent.fullname" . }}-sa
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -116,7 +134,7 @@ Create a task container template
|
|||||||
{{- define "taskContainer.containerTemplate" -}}
|
{{- define "taskContainer.containerTemplate" -}}
|
||||||
{{- if .main.Values.imageCredentials.enabled }}
|
{{- if .main.Values.imageCredentials.enabled }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: {{ .main.Values.imageCredentials.existingSecret | default (printf "%s-ark" (include "clearmlAgent.name" .main )) }}
|
- name: {{ .main.Values.imageCredentials.existingSecret | default (printf "%s-ark" (include "clearmlAgent.fullname" .main )) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
schedulerName: {{ .value.templateOverrides.schedulerName | default (.main.Values.agentk8sglue.basePodTemplate.schedulerName) }}
|
schedulerName: {{ .value.templateOverrides.schedulerName | default (.main.Values.agentk8sglue.basePodTemplate.schedulerName) }}
|
||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
@ -130,11 +148,11 @@ volumes:
|
|||||||
{{- if .value.templateOverrides.fileMounts }}
|
{{- if .value.templateOverrides.fileMounts }}
|
||||||
- name: filemounts
|
- name: filemounts
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ include "clearmlAgent.name" .main }}-{{ .key }}-fm
|
secretName: {{ include "clearmlAgent.fullname" .main }}-{{ .key }}-fm
|
||||||
{{- else if .main.Values.agentk8sglue.basePodTemplate.fileMounts }}
|
{{- else if .main.Values.agentk8sglue.basePodTemplate.fileMounts }}
|
||||||
- name: filemounts
|
- name: filemounts
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ include "clearmlAgent.name" .main }}-fm
|
secretName: {{ include "clearmlAgent.fullname" .main }}-fm
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if not .main.Values.enterpriseFeatures.serviceAccountClusterAccess }}
|
{{- if not .main.Values.enterpriseFeatures.serviceAccountClusterAccess }}
|
||||||
serviceAccountName: {{ include "clearmlAgent.serviceAccountName" .main }}
|
serviceAccountName: {{ include "clearmlAgent.serviceAccountName" .main }}
|
||||||
@ -178,12 +196,12 @@ containers:
|
|||||||
- name: CLEARML_API_ACCESS_KEY
|
- name: CLEARML_API_ACCESS_KEY
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.name" .main )) }}
|
name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.fullname" .main )) }}
|
||||||
key: agentk8sglue_key
|
key: agentk8sglue_key
|
||||||
- name: CLEARML_API_SECRET_KEY
|
- name: CLEARML_API_SECRET_KEY
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.name" .main )) }}
|
name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.fullname" .main )) }}
|
||||||
key: agentk8sglue_secret
|
key: agentk8sglue_secret
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: PYTHONUNBUFFERED
|
- name: PYTHONUNBUFFERED
|
||||||
@ -192,7 +210,7 @@ containers:
|
|||||||
- name: CLEARML_API_HOST_VERIFY_CERT
|
- name: CLEARML_API_HOST_VERIFY_CERT
|
||||||
value: "false"
|
value: "false"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ $computedenvs := (.value.templateOverrides.env| default .main.Values.agentk8sglue.basePodTemplate.env) }}
|
{{- $computedenvs := (.value.templateOverrides.env | default .main.Values.agentk8sglue.basePodTemplate.env) -}}
|
||||||
{{- if $computedenvs }}{{- $computedenvs | toYaml | nindent 4 }}{{- end }}
|
{{- if $computedenvs }}{{- $computedenvs | toYaml | nindent 4 }}{{- end }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ .value.templateOverrides.nodeSelector | default .main.Values.agentk8sglue.basePodTemplate.nodeSelector | toYaml | nindent 2 }}
|
{{ .value.templateOverrides.nodeSelector | default .main.Values.agentk8sglue.basePodTemplate.nodeSelector | toYaml | nindent 2 }}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-pt
|
name: {{ include "clearmlAgent.fullname" . }}-pt
|
||||||
data:
|
data:
|
||||||
{{- if .Values.enterpriseFeatures.enabled }}
|
{{- if .Values.enterpriseFeatures.enabled }}
|
||||||
template.yaml: |
|
template.yaml: |
|
||||||
@ -14,9 +14,9 @@ data:
|
|||||||
{{- range $key, $value := $.Values.enterpriseFeatures.queues }}
|
{{- range $key, $value := $.Values.enterpriseFeatures.queues }}
|
||||||
{{ $key }}:
|
{{ $key }}:
|
||||||
{{- if $value.templateOverrides.fileMounts }}
|
{{- if $value.templateOverrides.fileMounts }}
|
||||||
- {{ include "clearmlAgent.name" $ }}-{{ $key }}-fm
|
- {{ include "clearmlAgent.fullname" $ }}-{{ $key }}-fm
|
||||||
{{- else if $.Values.agentk8sglue.basePodTemplate.fileMounts }}
|
{{- else if $.Values.agentk8sglue.basePodTemplate.fileMounts }}
|
||||||
- {{ include "clearmlAgent.name" $ }}-fm
|
- {{ include "clearmlAgent.fullname" $ }}-fm
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
@ -34,7 +34,7 @@ data:
|
|||||||
{{- if .Values.imageCredentials.existingSecret }}
|
{{- if .Values.imageCredentials.existingSecret }}
|
||||||
- name: {{ .Values.imageCredentials.existingSecret }}
|
- name: {{ .Values.imageCredentials.existingSecret }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
- name: name: {{ include "clearmlAgent.name" $ }}-ark
|
- name: name: {{ include "clearmlAgent.fullname" $ }}-ark
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.agentk8sglue.basePodTemplate.volumes }}
|
{{- with .Values.agentk8sglue.basePodTemplate.volumes }}
|
||||||
@ -69,7 +69,7 @@ data:
|
|||||||
{{- if .Values.clearml.existingAgentk8sglueSecret }}
|
{{- if .Values.clearml.existingAgentk8sglueSecret }}
|
||||||
name: {{ .Values.clearml.existingAgentk8sglueSecret }}
|
name: {{ .Values.clearml.existingAgentk8sglueSecret }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
name: {{ include "clearmlAgent.name" . }}-ac
|
name: {{ include "clearmlAgent.fullname" . }}-ac
|
||||||
{{- end }}
|
{{- end }}
|
||||||
key: agentk8sglue_key
|
key: agentk8sglue_key
|
||||||
- name: CLEARML_API_SECRET_KEY
|
- name: CLEARML_API_SECRET_KEY
|
||||||
@ -78,7 +78,7 @@ data:
|
|||||||
{{- if .Values.clearml.existingAgentk8sglueSecret }}
|
{{- if .Values.clearml.existingAgentk8sglueSecret }}
|
||||||
name: {{ .Values.clearml.existingAgentk8sglueSecret }}
|
name: {{ .Values.clearml.existingAgentk8sglueSecret }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
name: {{ include "clearmlAgent.name" . }}-ac
|
name: {{ include "clearmlAgent.fullname" . }}-ac
|
||||||
{{- end }}
|
{{- end }}
|
||||||
key: agentk8sglue_secret
|
key: agentk8sglue_secret
|
||||||
{{- if .Values.agentk8sglue.basePodTemplate.env }}
|
{{- if .Values.agentk8sglue.basePodTemplate.env }}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}
|
name: {{ include "clearmlAgent.fullname" . }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "clearmlAgent.labels" . | nindent 4 }}
|
{{- include "clearmlAgent.labels" . | nindent 4 }}
|
||||||
annotations:
|
annotations:
|
||||||
@ -24,7 +24,7 @@ spec:
|
|||||||
{{- if .Values.imageCredentials.existingSecret }}
|
{{- if .Values.imageCredentials.existingSecret }}
|
||||||
- name: {{ .Values.imageCredentials.existingSecret }}
|
- name: {{ .Values.imageCredentials.existingSecret }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
- name: {{ include "clearmlAgent.name" . }}-ark
|
- name: {{ include "clearmlAgent.fullname" . }}-ark
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: {{ include "clearmlAgent.serviceAccountName" . }}
|
serviceAccountName: {{ include "clearmlAgent.serviceAccountName" . }}
|
||||||
@ -71,7 +71,7 @@ spec:
|
|||||||
export PATH=$PATH:$HOME/bin;
|
export PATH=$PATH:$HOME/bin;
|
||||||
source /root/.bashrc && /root/entrypoint.sh
|
source /root/.bashrc && /root/entrypoint.sh
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: {{ include "clearmlAgent.name" . }}-pt
|
- name: {{ include "clearmlAgent.fullname" . }}-pt
|
||||||
mountPath: /root/template
|
mountPath: /root/template
|
||||||
{{ if .Values.clearml.clearmlConfig }}
|
{{ if .Values.clearml.clearmlConfig }}
|
||||||
- name: k8sagent-clearml-conf-volume
|
- name: k8sagent-clearml-conf-volume
|
||||||
@ -129,15 +129,15 @@ spec:
|
|||||||
- name: CLEARML_API_ACCESS_KEY
|
- name: CLEARML_API_ACCESS_KEY
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ include "clearmlAgent.name" . }}-ac
|
name: {{ include "clearmlAgent.fullname" . }}-ac
|
||||||
key: agentk8sglue_key
|
key: agentk8sglue_key
|
||||||
- name: CLEARML_API_SECRET_KEY
|
- name: CLEARML_API_SECRET_KEY
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ include "clearmlAgent.name" . }}-ac
|
name: {{ include "clearmlAgent.fullname" . }}-ac
|
||||||
key: agentk8sglue_secret
|
key: agentk8sglue_secret
|
||||||
- name: CLEARML_WORKER_ID
|
- name: CLEARML_WORKER_ID
|
||||||
value: {{ include "clearmlAgent.name" . }}
|
value: {{ include "clearmlAgent.fullname" . }}
|
||||||
- name: CLEARML_AGENT_UPDATE_REPO
|
- name: CLEARML_AGENT_UPDATE_REPO
|
||||||
value: ""
|
value: ""
|
||||||
- name: FORCE_CLEARML_AGENT_REPO
|
- name: FORCE_CLEARML_AGENT_REPO
|
||||||
@ -204,13 +204,13 @@ spec:
|
|||||||
securityContext:
|
securityContext:
|
||||||
{{ toYaml .Values.agentk8sglue.containerSecurityContext | nindent 12 }}
|
{{ toYaml .Values.agentk8sglue.containerSecurityContext | nindent 12 }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: {{ include "clearmlAgent.name" . }}-pt
|
- name: {{ include "clearmlAgent.fullname" . }}-pt
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "clearmlAgent.name" . }}-pt
|
name: {{ include "clearmlAgent.fullname" . }}-pt
|
||||||
{{ if .Values.clearml.clearmlConfig }}
|
{{ if .Values.clearml.clearmlConfig }}
|
||||||
- name: k8sagent-clearml-conf-volume
|
- name: k8sagent-clearml-conf-volume
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ include "clearmlAgent.name" . }}-ac
|
secretName: {{ include "clearmlAgent.fullname" . }}-ac
|
||||||
items:
|
items:
|
||||||
- key: clearml.conf
|
- key: clearml.conf
|
||||||
path: clearml.conf
|
path: clearml.conf
|
||||||
@ -218,7 +218,7 @@ spec:
|
|||||||
{{ if .Values.agentk8sglue.fileMounts }}
|
{{ if .Values.agentk8sglue.fileMounts }}
|
||||||
- name: filemounts
|
- name: filemounts
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ include "clearmlAgent.name" . }}-afm
|
secretName: {{ include "clearmlAgent.fullname" . }}-afm
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- if .Values.agentk8sglue.volumes }}
|
{{- if .Values.agentk8sglue.volumes }}
|
||||||
{{- toYaml .Values.agentk8sglue.volumes | nindent 8 }}
|
{{- toYaml .Values.agentk8sglue.volumes | nindent 8 }}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ metadata:
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-kpa
|
name: {{ include "clearmlAgent.fullname" . }}-kpa
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
@ -36,7 +36,7 @@ rules:
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-kpa
|
name: {{ include "clearmlAgent.fullname" . }}-kpa
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: {{ include "clearmlAgent.serviceAccountName" . }}
|
name: {{ include "clearmlAgent.serviceAccountName" . }}
|
||||||
@ -44,13 +44,13 @@ subjects:
|
|||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
name: {{ include "clearmlAgent.name" . }}-kpa
|
name: {{ include "clearmlAgent.fullname" . }}-kpa
|
||||||
{{- else }}
|
{{- else }}
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-kpa
|
name: {{ include "clearmlAgent.fullname" . }}-kpa
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
@ -76,7 +76,7 @@ rules:
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-kpa
|
name: {{ include "clearmlAgent.fullname" . }}-kpa
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: {{ include "clearmlAgent.serviceAccountName" . }}
|
name: {{ include "clearmlAgent.serviceAccountName" . }}
|
||||||
@ -84,14 +84,14 @@ subjects:
|
|||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: Role
|
kind: Role
|
||||||
name: {{ include "clearmlAgent.name" . }}-kpa
|
name: {{ include "clearmlAgent.fullname" . }}-kpa
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range .Values.agentk8sglue.additionalClusterRoleBindings }}
|
{{- range .Values.agentk8sglue.additionalClusterRoleBindings }}
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" $ }}-kpa-{{ . }}
|
name: {{ include "clearmlAgent.fullname" $ }}-kpa-{{ . }}
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: {{ include "clearmlAgent.serviceAccountName" $ }}
|
name: {{ include "clearmlAgent.serviceAccountName" $ }}
|
||||||
@ -106,7 +106,7 @@ roleRef:
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" $ }}-kpa-{{ . }}
|
name: {{ include "clearmlAgent.fullname" $ }}-kpa-{{ . }}
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: {{ include "clearmlAgent.serviceAccountName" $ }}
|
name: {{ include "clearmlAgent.serviceAccountName" $ }}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-ac
|
name: {{ include "clearmlAgent.fullname" . }}-ac
|
||||||
data:
|
data:
|
||||||
agentk8sglue_key: {{ .Values.clearml.agentk8sglueKey | b64enc }}
|
agentk8sglue_key: {{ .Values.clearml.agentk8sglueKey | b64enc }}
|
||||||
agentk8sglue_secret: {{ .Values.clearml.agentk8sglueSecret | b64enc }}
|
agentk8sglue_secret: {{ .Values.clearml.agentk8sglueSecret | b64enc }}
|
||||||
@ -12,7 +12,7 @@ data:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-ark
|
name: {{ include "clearmlAgent.fullname" . }}-ark
|
||||||
type: kubernetes.io/dockerconfigjson
|
type: kubernetes.io/dockerconfigjson
|
||||||
data:
|
data:
|
||||||
.dockerconfigjson: {{ template "imagePullSecret" . }}
|
.dockerconfigjson: {{ template "imagePullSecret" . }}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-afm
|
name: {{ include "clearmlAgent.fullname" . }}-afm
|
||||||
data:
|
data:
|
||||||
{{- range .Values.agentk8sglue.fileMounts }}
|
{{- range .Values.agentk8sglue.fileMounts }}
|
||||||
{{ .name }}: {{ .fileContent | b64enc }}
|
{{ .name }}: {{ .fileContent | b64enc }}
|
||||||
@ -14,7 +14,7 @@ data:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" . }}-fm
|
name: {{ include "clearmlAgent.fullname" . }}-fm
|
||||||
data:
|
data:
|
||||||
{{- range .Values.agentk8sglue.basePodTemplate.fileMounts }}
|
{{- range .Values.agentk8sglue.basePodTemplate.fileMounts }}
|
||||||
{{ .name }}: {{ .fileContent | b64enc }}
|
{{ .name }}: {{ .fileContent | b64enc }}
|
||||||
@ -26,7 +26,7 @@ data:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearmlAgent.name" $ }}-{{ $key }}-fm
|
name: {{ include "clearmlAgent.fullname" $ }}-{{ $key }}-fm
|
||||||
data:
|
data:
|
||||||
{{- range .templateOverrides.fileMounts }}
|
{{- range .templateOverrides.fileMounts }}
|
||||||
{{ .name }}: {{ .fileContent | b64enc }}
|
{{ .name }}: {{ .fileContent | b64enc }}
|
||||||
|
|||||||
@ -22,6 +22,9 @@ agentk8sglue:
|
|||||||
value: /tmp/__start_agent__.sh
|
value: /tmp/__start_agent__.sh
|
||||||
|
|
||||||
basePodTemplate:
|
basePodTemplate:
|
||||||
|
env:
|
||||||
|
- name: HOME
|
||||||
|
value: /tmp
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
|
|||||||
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: clearml
|
name: clearml
|
||||||
description: MLOps platform
|
description: MLOps platform
|
||||||
type: application
|
type: application
|
||||||
version: "6.0.1"
|
version: "6.0.2"
|
||||||
appVersion: "1.9.2"
|
appVersion: "1.9.2"
|
||||||
kubeVersion: ">= 1.21.0-0 < 1.27.0-0"
|
kubeVersion: ">= 1.21.0-0 < 1.27.0-0"
|
||||||
home: https://clear.ml
|
home: https://clear.ml
|
||||||
@ -32,5 +32,5 @@ dependencies:
|
|||||||
condition: elasticsearch.enabled
|
condition: elasticsearch.enabled
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: changed
|
- kind: fixed
|
||||||
description: informational stuff refactoring
|
description: fullname usage
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# ClearML Ecosystem for Kubernetes
|
# ClearML Ecosystem for Kubernetes
|
||||||
|
|
||||||
  
|
  
|
||||||
|
|
||||||
MLOps platform
|
MLOps platform
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "clearml.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "clearml.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||||
echo http://$SERVICE_IP:{{ .Values.webserver.service.port }}
|
echo http://$SERVICE_IP:{{ .Values.webserver.service.port }}
|
||||||
{{- else if contains "ClusterIP" .Values.webserver.service.type }}
|
{{- else if contains "ClusterIP" .Values.webserver.service.type }}
|
||||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "clearml.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "clearml.fullname" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||||
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
|
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
|
||||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||||
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
|
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
|
||||||
|
|||||||
@ -46,7 +46,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|||||||
Selector labels
|
Selector labels
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "clearml.selectorLabels" -}}
|
{{- define "clearml.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearml.name" . }}
|
app.kubernetes.io/name: {{ include "clearml.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -70,14 +70,14 @@ Registry name
|
|||||||
Reference Name (apiserver)
|
Reference Name (apiserver)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "apiserver.referenceName" -}}
|
{{- define "apiserver.referenceName" -}}
|
||||||
{{- include "clearml.name" . }}-apiserver
|
{{- include "clearml.fullname" . }}-apiserver
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Selector labels (apiserver)
|
Selector labels (apiserver)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "apiserver.selectorLabels" -}}
|
{{- define "apiserver.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearml.name" . }}
|
app.kubernetes.io/name: {{ include "clearml.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ include "apiserver.referenceName" . }}
|
app.kubernetes.io/instance: {{ include "apiserver.referenceName" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -85,14 +85,14 @@ app.kubernetes.io/instance: {{ include "apiserver.referenceName" . }}
|
|||||||
Reference Name (fileserver)
|
Reference Name (fileserver)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "fileserver.referenceName" -}}
|
{{- define "fileserver.referenceName" -}}
|
||||||
{{- include "clearml.name" . }}-fileserver
|
{{- include "clearml.fullname" . }}-fileserver
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Selector labels (fileserver)
|
Selector labels (fileserver)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "fileserver.selectorLabels" -}}
|
{{- define "fileserver.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearml.name" . }}
|
app.kubernetes.io/name: {{ include "clearml.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ include "fileserver.referenceName" . }}
|
app.kubernetes.io/instance: {{ include "fileserver.referenceName" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -100,14 +100,14 @@ app.kubernetes.io/instance: {{ include "fileserver.referenceName" . }}
|
|||||||
Reference Name (webserver)
|
Reference Name (webserver)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "webserver.referenceName" -}}
|
{{- define "webserver.referenceName" -}}
|
||||||
{{- include "clearml.name" . }}-webserver
|
{{- include "clearml.fullname" . }}-webserver
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Selector labels (webserver)
|
Selector labels (webserver)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "webserver.selectorLabels" -}}
|
{{- define "webserver.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearml.name" . }}
|
app.kubernetes.io/name: {{ include "clearml.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ include "webserver.referenceName" . }}
|
app.kubernetes.io/instance: {{ include "webserver.referenceName" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@ -115,14 +115,14 @@ app.kubernetes.io/instance: {{ include "webserver.referenceName" . }}
|
|||||||
Reference Name (apps)
|
Reference Name (apps)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "clearmlApplications.referenceName" -}}
|
{{- define "clearmlApplications.referenceName" -}}
|
||||||
{{- include "clearml.name" . }}-apps
|
{{- include "clearml.fullname" . }}-apps
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Selector labels (apps)
|
Selector labels (apps)
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "clearmlApplications.selectorLabels" -}}
|
{{- define "clearmlApplications.selectorLabels" -}}
|
||||||
app.kubernetes.io/name: {{ include "clearml.name" . }}
|
app.kubernetes.io/name: {{ include "clearml.fullname" . }}
|
||||||
app.kubernetes.io/instance: {{ include "clearmlApplications.referenceName" . }}
|
app.kubernetes.io/instance: {{ include "clearmlApplications.referenceName" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearml.name" . }}-apps-pt
|
name: {{ include "clearml.fullname" . }}-apps-pt
|
||||||
data:
|
data:
|
||||||
template.yaml: |
|
template.yaml: |
|
||||||
apps_queue:
|
apps_queue:
|
||||||
@ -24,7 +24,7 @@ data:
|
|||||||
{{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
|
{{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
|
||||||
- name: filemounts
|
- name: filemounts
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ include "clearml.name" . }}-apps-fm
|
secretName: {{ include "clearml.fullname" . }}-apps-fm
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- resources:
|
- resources:
|
||||||
|
|||||||
@ -29,9 +29,9 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: {{ include "clearml.name" . }}-apps-pt
|
- name: {{ include "clearml.fullname" . }}-apps-pt
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "clearml.name" . }}-apps-pt
|
name: {{ include "clearml.fullname" . }}-apps-pt
|
||||||
{{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }}
|
{{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }}
|
||||||
- name: apps-config
|
- name: apps-config
|
||||||
configMap:
|
configMap:
|
||||||
@ -40,7 +40,7 @@ spec:
|
|||||||
{{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
|
{{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
|
||||||
- name: filemounts
|
- name: filemounts
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ include "clearml.name" . }}-apps-fm
|
secretName: {{ include "clearml.fullname" . }}-apps-fm
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: "clearml-apps-sa"
|
serviceAccountName: "clearml-apps-sa"
|
||||||
securityContext:
|
securityContext:
|
||||||
@ -117,7 +117,7 @@ spec:
|
|||||||
{{ toYaml .Values.enterpriseFeatures.clearmlApplications.extraEnvs | nindent 10 }}
|
{{ toYaml .Values.enterpriseFeatures.clearmlApplications.extraEnvs | nindent 10 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: {{ include "clearml.name" . }}-apps-pt
|
- name: {{ include "clearml.fullname" . }}-apps-pt
|
||||||
mountPath: /root/template
|
mountPath: /root/template
|
||||||
{{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }}
|
{{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }}
|
||||||
- name: apps-config
|
- name: apps-config
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "clearml.name" . }}-apps-fm
|
name: {{ include "clearml.fullname" . }}-apps-fm
|
||||||
data:
|
data:
|
||||||
{{- range .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
|
{{- range .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
|
||||||
{{ .name }}: {{ .fileContent | b64enc }}
|
{{ .name }}: {{ .fileContent | b64enc }}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user