apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "{{ .Chart.Name }}.fullname" . }} labels: {{- include "{{ .Chart.Name }}.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: {{- include "{{ .Chart.Name }}.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "{{ .Chart.Name }}.selectorLabels" . | nindent 8 }} spec: containers: - name: nginx image: "{{ .Values.image.nginx.registry }}/{{ .Values.image.nginx.repository }}:{{ .Values.image.nginx.tag }}" imagePullPolicy: {{ .Values.image.nginx.pullPolicy }} ports: - containerPort: 80 volumeMounts: - name: app-storage mountPath: /var/www/html subPath: html - name: nginx-config mountPath: /etc/nginx/nginx.conf subPath: nginx.conf - name: app-fpm image: "{{ .Values.image.php.registry }}/{{ .Values.image.php.repository }}:{{ .Values.image.php.tag }}" imagePullPolicy: {{ .Values.image.php.pullPolicy }} ports: - name: fpm containerPort: 9000 # PHP-FPMは9000ポートでリッスン volumeMounts: - name: app-storage mountPath: /var/www/html subPath: html env: - name: DB_HOST value: {{ .Values.externalDatabase.host | quote }} - name: DB_PORT value: {{ .Values.externalDatabase.port | quote }} - name: DB_NAME value: {{ .Values.externalDatabase.database | quote }} - name: DB_USER value: {{ .Values.externalDatabase.username | quote }} - name: DB_PASSWORD valueFrom: secretKeyRef: name: {{ include "{{ .Chart.Name }}.fullname" . }}-db-secret key: {{ include "{{ .Chart.Name }}.fullname" . }}-db-key dnsPolicy: ClusterFirst dnsConfig: options: - name: ndots value: "1" volumes: - name: app-storage {{- if .Values.persistence.enabled }} persistentVolumeClaim: claimName: {{ include "{{ .Chart.Name }}.fullname" . }}-pvc {{- else }} emptyDir: {} {{- end }} - name: nginx-config configMap: name: {{ include "{{ .Chart.Name }}.fullname" . }}-nginx-config