Collectd operator utilties
[demo.git] / vnfs / DAaaS / deploy / inference-core / charts / tf-serving / templates / deployment.yaml
1 {{/*
2 # Copyright 2019 Intel Corporation, Inc
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 apiVersion: extensions/v1beta1
18 kind: Deployment
19 metadata:
20   name: {{ include "tf-serving.fullname" . }}
21   labels:
22     app: {{ include "tf-serving.name" . }}
23     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
24     release: {{ .Release.Name }}
25     heritage: {{ .Release.Service | quote }}
26 spec:
27   replicas: 1
28   selector:
29     matchLabels:
30       app: {{ include "tf-serving.name" . }}
31       release: {{ .Release.Name }}
32       modelName: {{ .Values.modelName }}
33   template:
34     metadata:
35       labels:
36         app: {{ include "tf-serving.name" . }}
37         release: {{ .Release.Name }}
38         modelName: {{ .Values.modelName }}
39     spec:
40       serviceAccountName: {{ template "tf-serving.serviceAccountName" . }}
41       containers:
42         - name: tf-serving
43           image: "{{ .Values.image.tensorflowServing.repository }}:{{ .Values.image.tensorflowServing.tag }}"
44           imagePullPolicy: {{ .Values.image.pullPolicy }}
45           command:
46             - "/usr/bin/tensorflow_model_server"
47           args:
48             - "--port={{ .Values.service.tensorflowServingPort }}"
49             - "--model_name={{ .Values.modelName }}"
50             - "--model_base_path={{ .Values.modelBasePath }}"
51           ports:
52             - name: tf-serving
53               containerPort: {{ .Values.service.tensorflowServingPort }}
54               protocol: TCP
55           env:
56             - name: AWS_ACCESS_KEY_ID
57               valueFrom:
58                 secretKeyRef:
59                   name: {{ if .Values.minio.existingSecret }}{{ .Values.minio.existingSecret }}{{ else }}{{ template "tf-serving.fullname" . }}{{ end }}
60                   key: accesskey
61             - name: AWS_SECRET_ACCESS_KEY
62               valueFrom:
63                 secretKeyRef:
64                   name: {{ if .Values.minio.existingSecret }}{{ .Values.minio.existingSecret }}{{ else }}{{ template "tf-serving.fullname" . }}{{ end }}
65                   key: secretkey
66             {{- range $key, $val := .Values.minio.environment }}
67             - name: {{ $key }}
68               value: {{ $val | quote }}
69             {{- end}}
70           readinessProbe:
71             tcpSocket:
72               port: tf-serving
73             initialDelaySeconds: 15
74             timeoutSeconds: 1
75           resources:
76             {{- toYaml .Values.resources | nindent 12 }}
77           volumeMounts:
78             - mountPath: /models
79               name: models
80         - name: tensorboard
81           image: "{{ .Values.image.tensorboard.repository }}:{{ .Values.image.tensorboard.tag }}"
82           imagePullPolicy: {{ .Values.image.pullPolicy }}
83           command:
84             - tensorboard
85           args:
86              - --logdir
87             - {{ .Values.modelBasePath }}
88             - --host
89             - 0.0.0.0
90           ports:
91             - name: tensorboard
92               containerPort: {{ .Values.service.tensorboardPort }}
93               protocol: TCP
94           env:
95             - name: AWS_ACCESS_KEY_ID
96               valueFrom:
97                 secretKeyRef:
98                   name: {{ if .Values.minio.existingSecret }}{{ .Values.minio.existingSecret }}{{ else }}{{ template "tf-serving.fullname" . }}{{ end }}
99                   key: accesskey
100             - name: AWS_SECRET_ACCESS_KEY
101               valueFrom:
102                 secretKeyRef:
103                   name: {{ if .Values.minio.existingSecret }}{{ .Values.minio.existingSecret }}{{ else }}{{ template "tf-serving.fullname" . }}{{ end }}
104                   key: secretkey
105             {{- range $key, $val := .Values.minio.environment }}
106             - name: {{ $key }}
107               value: {{ $val | quote }}
108             {{- end}}
109           livenessProbe:
110             httpGet:
111               path: /
112               port: {{ .Values.service.tensorboardPort }}
113           readinessProbe:
114             httpGet:
115               path: /
116               port: {{ .Values.service.tensorboardPort }}
117           volumeMounts:
118             - mountPath: /output/training_logs
119               name: training-logs-volume
120           resources:
121             {{- toYaml .Values.resources | nindent 12 }}
122       volumes:
123         - name: models
124           emptyDir: {}
125         - name: training-logs-volume
126           emptyDir: {}
127       {{- with .Values.nodeSelector }}
128       nodeSelector:
129         {{- toYaml . | nindent 8 }}
130       {{- end }}
131     {{- with .Values.affinity }}
132       affinity:
133         {{- toYaml . | nindent 8 }}
134     {{- end }}
135     {{- with .Values.tolerations }}
136       tolerations:
137         {{- toYaml . | nindent 8 }}
138     {{- end }}