在kubernetes中是否有一种有效的方法来创建自动更新osrm地图数据的机制?
我们已经创建了.yaml文件来在Kubernetes集群中部署osrm/osrm后端() 我们首先在节点的卷中下载pbf文件,然后为服务创建必要的文件,最后服务启动 您可以在下面找到yaml文件:在kubernetes中是否有一种有效的方法来创建自动更新osrm地图数据的机制?,kubernetes,osrm,kubernetes-cronjob,osm.pbf,Kubernetes,Osrm,Kubernetes Cronjob,Osm.pbf,我们已经创建了.yaml文件来在Kubernetes集群中部署osrm/osrm后端() 我们首先在节点的卷中下载pbf文件,然后为服务创建必要的文件,最后服务启动 您可以在下面找到yaml文件: apiVersion: v1 kind: Service metadata: name: osrm-albania labels: app: osrm-albania spec: ports: - port: 5000 targetPort: 5000 name
apiVersion: v1
kind: Service
metadata:
name: osrm-albania
labels:
app: osrm-albania
spec:
ports:
- port: 5000
targetPort: 5000
name: http
selector:
app: osrm-albania
type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: osrm-albania
spec:
replicas: 1
selector:
matchLabels:
app: osrm-albania
template:
metadata:
labels:
app: osrm-albania
spec:
containers:
- name: osrm-albania
image: osrm/osrm-backend:latest
command: ["/bin/sh", "-c"]
args: ["osrm-extract -p /opt/car.lua /data/albania-latest.osm.pbf && osrm-partition /data/albania-latest.osrm && osrm-customize /data/albania-latest.osrm && osrm-routed --algorithm mld /data/albania-latest.osrm"]
ports:
- containerPort: 5000
name: osrm-port
volumeMounts:
- name: albania
readOnly: false
mountPath: /data
initContainers:
- name: get-osrm-file
image: busybox
command: ['wget', 'http://download.geofabrik.de/europe/albania-latest.osm.pbf', '--directory-prefix=/data']
volumeMounts:
- name: albania
readOnly: false
mountPath: /data
volumes:
- name: albania
emptyDir: {}
问题是我们需要定期更新osrm服务使用的地图数据。这意味着能够重新下载pbf文件并重新创建服务使用的必要文件
这可以通过kubernetes cronjobs实现,后者可能必须使用持久卷()
这是获取新地图数据和刷新osrm服务使用的数据的唯一方法吗?
到底是怎么回事?
有没有更好更简单的方法来实现这一点