deployment/fibrecensus.yaml (77 lines of code) (raw):
apiVersion: apps/v1
kind: Deployment
metadata:
name: fibrecensus-prod-deployment
labels:
com.theguardian.app: Multimedia
com.theguardian.stack: FibreCensus
com.theguardian.stage: PROD
com.theguardian.service: webapp
spec:
replicas: 3
revisionHistoryLimit: 5 #clean up replica sets older than this
selector:
matchLabels:
com.theguardian.app: Multimedia
com.theguardian.stack: FibreCensus
com.theguardian.stage: PROD
com.theguardian.service: webapp
template:
metadata:
labels:
com.theguardian.app: Multimedia
com.theguardian.stack: FibreCensus
com.theguardian.stage: PROD
com.theguardian.service: webapp
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- fibrecensus-prod-deployment
topologyKey: "kubernetes.io/hostname"
containers:
- image: guardianmultimedia/fibrecensus:6
name: fibrecensus-prod
ports:
- containerPort: 9000
name: webapp
livenessProbe:
httpGet:
path: /healthcheck
port: 9000
periodSeconds: 3
initialDelaySeconds: 15
readinessProbe:
httpGet:
path: /healthcheck
port: 9000
periodSeconds: 30
initialDelaySeconds: 60
resources:
requests:
memory: "512Mi"
cpu: 1
limits:
memory: "4Gi"
cpu: 4
env:
- name: JAVA_OPTS
value: -Xmx1024m -Xms1024m -XX:+ExitOnOutOfMemoryError
- name: APP_SECRET
valueFrom:
secretKeyRef:
name: fibrecensus-secrets
key: appsecret
volumeMounts:
- name: configmap
mountPath: /opt/docker/conf
volumes:
- name: configmap
configMap:
name: fibrecensus-config
restartPolicy: Always