繁体   English   中英

docker 数据量 vs Kubernetes 持久化存储

[英]docker data volume vs kubernetes persistent storage

docker 引擎支持数据量

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

docker rundocker-compose都支持它:

  1. docker run --volume data_vol:/mount/point
  2. docker-compose 使用顶级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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM