docker数据量vs kubernetes持久存储



docker引擎支持数据量

删除容器后,Docker数据卷仍然存在

docker rundocker-compose都支持它:

  1. docker run --volume data_vol:/mount/point
  2. docker使用顶级volumes密钥与命名卷组合

kubernetes也支持持久卷,但它是否支持具有数据卷的相同概念,即驻留在容器中的卷

如果kubernetes支持数据卷(在容器内(:

  1. 如有任何参考文件(或示例(,将不胜感激
  2. 它是否也以支持常规容器迁移的方式支持数据卷的迁移

我发现了一些相关的问题,但无法得到我想要的答案。

您想说的是:

如果您没有为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

最新更新