[英]docker data volume vs kubernetes persistent storage
docker 引擎支持数据量
删除容器后Docker数据卷仍然存在
docker run
和docker-compose
都支持它:
docker run --volume data_vol:/mount/point
volumes
键命名卷kubernetes 也支持持久卷,但它是否支持具有数据卷的相同概念 - 即驻留在容器内的卷?
如果 kubernetes 支持数据卷(在容器内):
我发现了一些相关的问题,但无法得到我正在寻找的答案。
你想说的是:
如果您没有为 docker 卷挂载指定主机路径,docker 会动态提供路径并在重新启动之间保留它。
“即,位于容器内的卷”卷是在容器外生成并稍后安装。
例如:
# data_vol location is decided by docker installation
docker run --volume data_vol:/mount/point
# host path is explicitly given
docker run --volume /my/host/path:/mount/point
在 Kubernetes 术语中,这类似于动态配置。 如果您想要动态配置,则需要根据您的存储后端拥有存储类。
请阅读https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/ 。
如果要指定主机路径,以下是一个示例。 您还可以通过使用 NFS、块存储等来获得类似的结果。
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 10Gi
hostPath:
path: /home/user/my-vol
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: my-ss
spec:
replicas: 1
selector:
matchLabels:
app: my-ss
serviceName: my-svc
template:
metadata:
labels:
app: my-ss
spec:
containers:
- image: ubuntu
name: my-container
volumeMounts:
- mountPath: /my-vol
name: my-vol
volumeClaimTemplates:
- metadata:
name: my-vol
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
selector:
matchLabels:
app: my-ss
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.