apiVersion: apps/v1
kind: Deployment
metadata:
name: nodejs-mapr-europe-car
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: nodejs-mapr-europe-car
template:
metadata:
labels:
app: nodejs-mapr-europe-car
spec:
initContainers:
- name: map-downloader
image: gcr.io/solver-285414/map-downloader:latest
volumeMounts:
- name: osrm-maps
mountPath: /maps
env:
- name: MAPS_BUCKET
value: "osrm-maps-europe"
- name: MAP_REGION
value: "europe"
containers:
- name: osrm-service
image: gcr.io/solver-285414/nodejs-mapr:latest
ports:
- containerPort: 3000
env:
- name: OSRM_MAPS
value: |
[{
"map": "europe",
"vehicle": "car",
"path": "/maps/europe-{{slice}}.osrm",
"slices": [0,1,2,3,4,5,6,7,8,9,10,11,12],
"mmap": true
}]
- name: PUBSUB_TABLE_SUBSCRIPTIONS
value: |
[{
"id": "europe-car-subscription",
"weight": 10,
"maxMessages": 2
}]
volumeMounts:
- name: osrm-maps
mountPath: /maps
readOnly: true
resources:
requests:
memory: "8Gi"
cpu: "2"
limits:
memory: "12Gi"
cpu: "4"
livenessProbe:
httpGet:
path: /v1/health
port: 3000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /v1/health/ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 5
volumes:
- name: osrm-maps
persistentVolumeClaim:
claimName: osrm-maps-pvc