更新 wikijs
This commit is contained in:
259
azure/mysql/templates/deployment.yaml
Normal file
259
azure/mysql/templates/deployment.yaml
Normal file
@@ -0,0 +1,259 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "mysql.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: {{ template "mysql.fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
{{- with .Values.deploymentAnnotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
|
||||
spec:
|
||||
strategy:
|
||||
{{ toYaml .Values.strategy | indent 4 }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "mysql.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "mysql.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- with .Values.podLabels }}
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.schedulerName }}
|
||||
schedulerName: "{{ .Values.schedulerName }}"
|
||||
{{- end }}
|
||||
{{- if .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: "{{ .Values.priorityClassName }}"
|
||||
{{- end }}
|
||||
{{- if .Values.securityContext.enabled }}
|
||||
securityContext:
|
||||
fsGroup: {{ .Values.securityContext.fsGroup }}
|
||||
runAsUser: {{ .Values.securityContext.runAsUser }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "mysql.serviceAccountName" . }}
|
||||
initContainers:
|
||||
- name: "remove-lost-found"
|
||||
image: "{{ .Values.busybox.image}}:{{ .Values.busybox.tag }}"
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
resources:
|
||||
{{ toYaml .Values.initContainer.resources | indent 10 }}
|
||||
command: ["rm", "-fr", "/var/lib/mysql/lost+found"]
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /var/lib/mysql
|
||||
{{- if .Values.persistence.subPath }}
|
||||
subPath: {{ .Values.persistence.subPath }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
{{ tpl .Values.extraInitContainers . | indent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml .Values.nodeSelector | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml .Values.affinity | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml .Values.tolerations | indent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "mysql.fullname" . }}
|
||||
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
|
||||
{{- with .Values.args }}
|
||||
args:
|
||||
{{- range . }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 10 }}
|
||||
env:
|
||||
{{- if .Values.mysqlAllowEmptyPassword }}
|
||||
- name: MYSQL_ALLOW_EMPTY_PASSWORD
|
||||
value: "true"
|
||||
{{- end }}
|
||||
{{- if not (and .Values.allowEmptyRootPassword (not .Values.mysqlRootPassword)) }}
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "mysql.secretName" . }}
|
||||
key: mysql-root-password
|
||||
{{- if .Values.mysqlAllowEmptyPassword }}
|
||||
optional: true
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if not (and .Values.allowEmptyRootPassword (not .Values.mysqlPassword)) }}
|
||||
- name: MYSQL_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "mysql.secretName" . }}
|
||||
key: mysql-password
|
||||
{{- if or .Values.mysqlAllowEmptyPassword (empty .Values.mysqlUser) }}
|
||||
optional: true
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
- name: MYSQL_USER
|
||||
value: {{ default "" .Values.mysqlUser | quote }}
|
||||
- name: MYSQL_DATABASE
|
||||
value: {{ default "" .Values.mysqlDatabase | quote }}
|
||||
{{- if .Values.timezone }}
|
||||
- name: TZ
|
||||
value: {{ .Values.timezone }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraEnvVars }}
|
||||
{{ tpl .Values.extraEnvVars . | indent 8 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: mysql
|
||||
containerPort: 3306
|
||||
{{- if .Values.mysqlx.port.enabled }}
|
||||
- name: mysqlx
|
||||
port: 33060
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
{{- if .Values.mysqlAllowEmptyPassword }}
|
||||
- mysqladmin
|
||||
- ping
|
||||
{{- else }}
|
||||
- sh
|
||||
- -c
|
||||
- "mysqladmin ping -u root -p${MYSQL_ROOT_PASSWORD}"
|
||||
{{- end }}
|
||||
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.livenessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
{{- if .Values.mysqlAllowEmptyPassword }}
|
||||
- mysqladmin
|
||||
- ping
|
||||
{{- else }}
|
||||
- sh
|
||||
- -c
|
||||
- "mysqladmin ping -u root -p${MYSQL_ROOT_PASSWORD}"
|
||||
{{- end }}
|
||||
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.readinessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /var/lib/mysql
|
||||
{{- if .Values.persistence.subPath }}
|
||||
subPath: {{ .Values.persistence.subPath }}
|
||||
{{- end }}
|
||||
{{- if .Values.configurationFiles }}
|
||||
{{- range $key, $val := .Values.configurationFiles }}
|
||||
- name: configurations
|
||||
mountPath: {{ $.Values.configurationFilesPath }}{{ $key }}
|
||||
subPath: {{ $key }}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- if .Values.initializationFiles }}
|
||||
- name: migrations
|
||||
mountPath: /docker-entrypoint-initdb.d
|
||||
{{- end }}
|
||||
{{- if .Values.ssl.enabled }}
|
||||
- name: certificates
|
||||
mountPath: /ssl
|
||||
{{- end }}
|
||||
{{- if .Values.extraVolumeMounts }}
|
||||
{{ tpl .Values.extraVolumeMounts . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.enabled }}
|
||||
- name: metrics
|
||||
image: "{{ .Values.metrics.image }}:{{ .Values.metrics.imageTag }}"
|
||||
imagePullPolicy: {{ .Values.metrics.imagePullPolicy | quote }}
|
||||
{{- if .Values.mysqlAllowEmptyPassword }}
|
||||
command:
|
||||
- 'sh'
|
||||
- '-c'
|
||||
- 'DATA_SOURCE_NAME="root@(localhost:3306)/" /bin/mysqld_exporter'
|
||||
{{- else }}
|
||||
env:
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "mysql.secretName" . }}
|
||||
key: mysql-root-password
|
||||
command:
|
||||
- 'sh'
|
||||
- '-c'
|
||||
- 'DATA_SOURCE_NAME="root:$MYSQL_ROOT_PASSWORD@(localhost:3306)/" /bin/mysqld_exporter'
|
||||
{{- end }}
|
||||
{{- range $f := .Values.metrics.flags }}
|
||||
- {{ $f | quote }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: metrics
|
||||
containerPort: 9104
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: metrics
|
||||
initialDelaySeconds: {{ .Values.metrics.livenessProbe.initialDelaySeconds }}
|
||||
timeoutSeconds: {{ .Values.metrics.livenessProbe.timeoutSeconds }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: metrics
|
||||
initialDelaySeconds: {{ .Values.metrics.readinessProbe.initialDelaySeconds }}
|
||||
timeoutSeconds: {{ .Values.metrics.readinessProbe.timeoutSeconds }}
|
||||
resources:
|
||||
{{ toYaml .Values.metrics.resources | indent 10 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- if .Values.configurationFiles }}
|
||||
- name: configurations
|
||||
configMap:
|
||||
name: {{ template "mysql.fullname" . }}-configuration
|
||||
{{- end }}
|
||||
{{- if .Values.initializationFiles }}
|
||||
- name: migrations
|
||||
configMap:
|
||||
name: {{ template "mysql.fullname" . }}-initialization
|
||||
{{- end }}
|
||||
{{- if .Values.ssl.enabled }}
|
||||
- name: certificates
|
||||
secret:
|
||||
secretName: {{ .Values.ssl.secret }}
|
||||
{{- end }}
|
||||
- name: data
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.existingClaim | default (include "mysql.fullname" .) }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end -}}
|
||||
{{- if .Values.extraVolumes }}
|
||||
{{ tpl .Values.extraVolumes . | indent 6 }}
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user