[英]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.