簡體   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