kubernetes:如何编写 pod yaml 文件以将卷从主机映射到容器
Posted
技术标签:
【中文标题】kubernetes:如何编写 pod yaml 文件以将卷从主机映射到容器【英文标题】:kubernetes: how to write pod yaml file for mapping volumn from host to container 【发布时间】:2018-11-28 13:08:44 【问题描述】:我有一个运行 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】:这将是一个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 移动到不同的主机,因此您需要准备好处理冷缓存和清理孤立缓存。
【讨论】:
以上是关于kubernetes:如何编写 pod yaml 文件以将卷从主机映射到容器的主要内容,如果未能解决你的问题,请参考以下文章
如何滚动重启pod而不改变kubernetes(k8s)中的部署yaml?
k8s核心资源之Pod概念及入门使用讲解&&资源清单yaml文件内容讲解与编写