-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