charts/wordpress/templates/statefulset.yaml
2020-07-31 10:00:28 +08:00

119 lines
3.6 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "wordpress.fullname" . }}
labels:
{{- include "wordpress.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
serviceName: {{ .Values.service.name }}
selector:
matchLabels:
{{- include "wordpress.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "wordpress.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "wordpress.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Values.nginx.name }}
securityContext:
{{- toYaml .Values.nginx.securityContext | nindent 12 }}
image: "{{ .Values.nginx.image.repository }}:{{ .Values.nginx.image.tag }}"
imagePullPolicy: {{ .Values.nginx.image.pullPolicy }}
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
tcpSocket:
port: http
readinessProbe:
tcpSocket:
port: http
resources:
{{- toYaml .Values.nginx.resources | nindent 12 }}
volumeMounts:
- mountPath: /var/www/html
name: wordpress-pv
- mountPath: /etc/nginx/nginx.conf
name: nginx-conf
subPath: nginx.conf
- mountPath: /etc/nginx/conf.d/default.conf
name: nginx-conf
subPath: default.conf
- name: {{ .Values.wordpress.name }}
securityContext:
{{- toYaml .Values.wordpress.securityContext | nindent 12 }}
image: "{{ .Values.wordpress.image.repository }}:{{ .Values.wordpress.image.tag }}"
imagePullPolicy: {{ .Values.wordpress.image.pullPolicy }}
env:
- name: WORDPRESS_DB_HOST
valueFrom:
secretKeyRef:
name: wp-db
key: db-host
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: wp-db
key: wp-db-pass
- name: WORDPRESS_DB_NAME
valueFrom:
secretKeyRef:
name: wp-db
key: wp-db
- name: WORDPRESS_DB_USER
valueFrom:
secretKeyRef:
name: wp-db
key: wp-db-user
ports:
- name: php
containerPort: 9000
protocol: TCP
livenessProbe:
tcpSocket:
port: 9000
readinessProbe:
tcpSocket:
port: 9000
resources:
{{- toYaml .Values.wordpress.resources | nindent 12 }}
volumeMounts:
- mountPath: /var/www/html
name: wordpress-pv
volumes:
- name: nginx-conf
secret:
defaultMode: 420
secretName: nginx-conf
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
volumeClaimTemplates:
- metadata:
name: wordpress-pv
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: {{ .Values.config.storageClassName | quote }}
resources:
requests:
storage: {{ .Values.config.storageSize }}