deploy-templates/templates/deployment.yaml (60 lines of code) (raw):
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Chart.Name }}
labels:
app: {{ .Chart.Name }}
spec:
selector:
matchLabels:
app: {{ .Chart.Name }}
replicas: {{ .Values.replicaCount }}
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
annotations:
sidecar.istio.io/inject: "true"
labels:
app: {{ .Chart.Name }}
collect.logs: "json"
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.name }}:{{ .Values.image.version }}"
imagePullPolicy: IfNotPresent
ports:
- containerPort: {{ .Values.service.port }}
name: http
livenessProbe:
httpGet:
path: {{ .Values.probes.liveness.path }}
port: {{ .Values.service.port }}
failureThreshold: 10
initialDelaySeconds: 65
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
readinessProbe:
httpGet:
path: {{ .Values.probes.readiness.path }}
port: {{ .Values.service.port }}
failureThreshold: 10
initialDelaySeconds: 65
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources:
requests:
memory: 1Gi
volumeMounts:
- name: {{ .Chart.Name }}
mountPath: {{ .Values.appConfigMountPath }}
serviceAccountName: {{ .Values.serviceAccount.name }}
volumes:
- name: {{ .Chart.Name }}
configMap:
name: {{ .Chart.Name }}