2022-06-08 08:01:33 +00:00
apiVersion : apps/v1
kind : Deployment
metadata :
name : {{ include "agentk8sglue.referenceName" . }}
labels :
{{- include "clearml.labels" . | nindent 4 }}
spec :
replicas : {{ .Values.agentk8sglue.replicaCount }}
selector :
matchLabels :
{{- include "agentk8sglue.selectorLabels" . | nindent 6 }}
template :
metadata :
annotations :
2022-07-15 06:28:40 +00:00
checksum/config : {{ printf "%s%s" .Values.clearml .Values.agentk8sglue | sha256sum }}
2022-06-08 08:01:33 +00:00
labels :
{{- include "agentk8sglue.selectorLabels" . | nindent 8 }}
spec :
{{- if .Values.imageCredentials.enabled }}
imagePullSecrets :
{{- if .Values.imageCredentials.existingSecret }}
- name : .Values.imageCredentials.existingSecret
{{- else }}
2022-07-15 06:28:40 +00:00
- name : {{ include "agentk8sglue.referenceName" . }}-clearml-agent-registry-key
2022-06-08 08:01:33 +00:00
{{- end }}
{{- end }}
initContainers :
- name : init-k8s-glue
image : "{{ .Values.agentk8sglue.image.repository }}:{{ .Values.agentk8sglue.image.tag }}"
command :
- /bin/sh
- -c
- >
set -x;
2022-06-23 08:43:39 +00:00
while [ $(curl {{ if not .Values.agentk8sglue.clearmlcheckCertificate }}--insecure{{ end }} -sw '%{http_code}' "{{.Values.agentk8sglue.apiServerUrlReference}}/debug.ping" -o /dev/null) -ne 200 ] ; do
2022-06-08 08:01:33 +00:00
echo "waiting for apiserver" ;
sleep 5 ;
done;
2022-06-23 08:43:39 +00:00
while [[ $(curl {{ if not .Values.agentk8sglue.clearmlcheckCertificate }}--insecure{{ end }} -sw '%{http_code}' "{{.Values.agentk8sglue.fileServerUrlReference}}/" -o /dev/null) =~ 403|405 ]] ; do
2022-06-08 08:01:33 +00:00
echo "waiting for fileserver" ;
sleep 5 ;
done;
2022-06-23 08:43:39 +00:00
while [ $(curl {{ if not .Values.agentk8sglue.clearmlcheckCertificate }}--insecure{{ end }} -sw '%{http_code}' "{{.Values.agentk8sglue.webServerUrlReference}}/" -o /dev/null) -ne 200 ] ; do
2022-06-08 08:01:33 +00:00
echo "waiting for webserver" ;
sleep 5 ;
done
containers :
- name : k8s-glue
image : "{{ .Values.agentk8sglue.image.repository }}:{{ .Values.agentk8sglue.image.tag }}"
2022-06-23 07:52:19 +00:00
imagePullPolicy : IfNotPresent
2022-06-08 08:01:33 +00:00
command : [ "/bin/bash" , "-c" , "export PATH=$PATH:$HOME/bin; source /root/.bashrc && /root/entrypoint.sh" ]
volumeMounts :
2022-07-15 06:28:40 +00:00
- name : {{ include "agentk8sglue.referenceName" . }}-k8sagent-pod-template
2022-06-08 08:01:33 +00:00
mountPath : /root/template
2022-06-23 07:52:19 +00:00
{{ if .Values.clearml.clearmlConfig }}
- name : k8sagent-clearml-conf-volume
mountPath : /root/clearml.conf
subPath : clearml.conf
readOnly : true
{{- end }}
2022-06-08 08:01:33 +00:00
env :
- name : CLEARML_API_HOST
value : "{{.Values.agentk8sglue.apiServerUrlReference}}"
- name : CLEARML_WEB_HOST
value : "{{.Values.agentk8sglue.webServerUrlReference}}"
- name : CLEARML_FILES_HOST
value : "{{.Values.agentk8sglue.fileServerUrlReference}}"
- name : K8S_GLUE_MAX_PODS
value : "{{.Values.agentk8sglue.maxPods}}"
- name : K8S_GLUE_QUEUE
value : "{{.Values.agentk8sglue.queue}}"
- name : K8S_GLUE_EXTRA_ARGS
value : "--namespace {{ .Release.Namespace }} --template-yaml /root/template/template.yaml"
- name : K8S_DEFAULT_NAMESPACE
value : "{{ .Release.Namespace }}"
- name : CLEARML_API_ACCESS_KEY
valueFrom :
secretKeyRef :
2022-07-15 06:28:40 +00:00
name : {{ include "agentk8sglue.referenceName" . }}-clearml-agent-conf
2022-06-08 08:01:33 +00:00
key : agentk8sglue_key
- name : CLEARML_API_SECRET_KEY
valueFrom :
secretKeyRef :
2022-07-15 06:28:40 +00:00
name : {{ include "agentk8sglue.referenceName" . }}-clearml-agent-conf
2022-06-08 08:01:33 +00:00
key : agentk8sglue_secret
- name : CLEARML_WORKER_ID
value : "{{.Values.agentk8sglue.id}}"
- name : CLEARML_AGENT_UPDATE_REPO
value : ""
- name : FORCE_CLEARML_AGENT_REPO
value : ""
- name : CLEARML_DOCKER_IMAGE
value : "{{.Values.agentk8sglue.defaultContainerImage}}"
volumes :
2022-07-15 06:28:40 +00:00
- name : {{ include "agentk8sglue.referenceName" . }}-k8sagent-pod-template
2022-06-08 08:01:33 +00:00
configMap :
2022-07-15 06:28:40 +00:00
name : {{ include "agentk8sglue.referenceName" . }}-k8sagent-pod-template
2022-06-23 07:52:19 +00:00
{{ if .Values.clearml.clearmlConfig }}
- name : k8sagent-clearml-conf-volume
secret :
2022-07-15 06:28:40 +00:00
secretName : {{ include "agentk8sglue.referenceName" . }}-clearml-agent-conf
2022-06-23 07:52:19 +00:00
items :
- key : clearml.conf
path : clearml.conf
{{ end }}