kubernetes:如何编写用于从主机到容器映射卷的pod yaml文件

时间:2018-06-19 14:14:43

标签: docker kubernetes

我有一个运行docker的命令,

docker run --name pre-core -itdp 8086:80 -v /opt/docker/datalook-pre-core:/usr/application app

在以上命令中,/ opt / docker / datalook-pre-core是主机目录,/ usr / application是容器目录。目的是使容器目录映射到主机目录。因此,当容器崩溃时,该目录将用作存储,并保存其中的数据。

当我要使用kubernetes为此容器创建一个pod时,如何编写pod.yaml文件?

我猜是这样的:

apiVersion: v1
kind: Pod
metadata:
  name: app-ykt
  labels:
    app: app-ykt
    purpose: ykt_production
spec:
  containers:
  - name: app-ykt
    image: app
    imagePullPolicy: IfNotPresent
    ports:
      - containerPort: 80
    volumnMounts:
      - name: volumn-app-ykt
        mountPath: /usr/application
  volumns:
      - name: volumn-app-ykt
      ????

我不知道我要写的Yaml的确切属性是什么?

1 个答案:

答案 0 :(得分:1)

这将是hostPath卷:https://kubernetes.io/docs/concepts/storage/volumes/

  volumes:
  - name: volumn-app-ykt
    hostPath:
      # directory location on host
      path: /opt/docker/datalook-pre-core
      # this field is optional
      type: Directory

但是请记住,虽然容器崩溃不会移动任何东西,但其他事件可能会导致Pod移至其他主机,因此您需要做好应对冷缓存和清理孤立缓存的准备。