--- /dev/null
+apiVersion: apps/v1\r
+kind: Deployment\r
+\r
+metadata:\r
+ name: {{ .Values.global.mysqldb.appName }}\r
+ namespace: {{.Values.global.mysqldb.namespace }}\r
+ labels:\r
+ app: {{ .Values.global.mysqldb.appName }}\r
+ version: {{.Values.global.mysqldb.version }}\r
+ \r
+spec:\r
+ strategy:\r
+ # indicate which strategy we want for rolling update\r
+ type: RollingUpdate\r
+ rollingUpdate:\r
+ maxSurge: 1\r
+ maxUnavailable: 1\r
+ replicas: {{ .Values.global.mysqldb.replicas }}\r
+ selector:\r
+ matchLabels:\r
+ app: {{ .Values.global.mysqldb.appName }}\r
+ version: {{.Values.global.mysqldb.version }}\r
+ template:\r
+ metadata:\r
+ labels:\r
+ app: {{ .Values.global.mysqldb.appName }}\r
+ version: {{.Values.global.mysqldb.version }}\r
+ spec:\r
+ serviceAccountName: default\r
+ containers:\r
+ - name: {{ .Values.global.mysqldb.appName }}\r
+ image: "{{ .Values.image }}:{{ .Values.imageTag }}"\r
+ image: {{ .Values.global.mysqldb.image.image }}:{{ .Values.global.mysqldb.image.tag }}\r
+ imagePullPolicy: Always\r
+ resources:\r
+ limits: \r
+ memory: {{ .Values.global.mysqldb.resources.limits.memory }}\r
+ cpu: {{ .Values.global.mysqldb.resources.limits.cpu }}\r
+ requests:\r
+ memory: {{ .Values.global.mysqldb.resources.requests.memory }}\r
+ cpu: {{ .Values.global.mysqldb.resources.requests.cpu }}\r
+ env:\r
+ - name: MYSQL_ROOT_PASSWORD\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name: {{ .Values.global.mysqldb.appName }}\r
+ key: mysql_root_password\r
+ - name: MYSQL_PASSWORD\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name: {{ .Values.global.mysqldb.appName }}\r
+ key: mysql_password\r
+ - name: MYSQL_USER\r
+ value: {{ .Values.global.mysqldb.mysqlUser | quote }}\r
+ - name: MYSQL_DATABASE\r
+ value: {{ .Values.global.mysqldb.mysqlDatabase | quote }}\r
+ - name: TZ\r
+ value: {{ .Values.timezone }}\r
+ ports:\r
+ - name: {{ .Values.global.mysqldb.appName }}\r
+ containerPort: 3306\r
+ livenessProbe:\r
+ exec:\r
+ command:\r
+ - sh\r
+ - -c\r
+ - "mysqladmin ping -u root -p${MYSQL_ROOT_PASSWORD}"\r
+ initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}\r
+ periodSeconds: {{ .Values.livenessProbe.periodSeconds }}\r
+ timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}\r
+ successThreshold: {{ .Values.livenessProbe.successThreshold }}\r
+ failureThreshold: {{ .Values.livenessProbe.failureThreshold }}\r
+ readinessProbe:\r
+ exec:\r
+ command:\r
+ - sh\r
+ - -c\r
+ - "mysqladmin ping -u root -p${MYSQL_ROOT_PASSWORD}"\r
+ initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}\r
+ periodSeconds: {{ .Values.readinessProbe.periodSeconds }}\r
+ timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}\r
+ successThreshold: {{ .Values.readinessProbe.successThreshold }}\r
+ failureThreshold: {{ .Values.readinessProbe.failureThreshold }}\r
+ lifecycle:\r
+ postStart:\r
+ exec:\r
+ command: ["/bin/bash", "-c", "cd data/scripts;./init_db.sh"]\r
+ volumeMounts:\r
+ - name: custom-init-scripts\r
+ mountPath: /data/scripts\r
+ volumes:\r
+ - name: custom-init-scripts\r
+ configMap:\r
+ name: {{ .Values.global.mysqldb.appName }}-init-scripts\r
+ defaultMode: 0755\r
+ restartPolicy: Always\r
+ \r