我正在考虑创建一个设置,其中主目录中的每个目录都安装到不同的磁盘上。
所以基本上卷配置意味着我有 3 个不同的卷连接到 3 个不同的持久存储磁盘:
volumes:
- name: demo-pdf
persistentVolumeClaim:
claimName: demo-pdf
- name: demo-tsv
persistentVolumeClaim:
claimName: demo-tsv
- name: demo-csv
persistentVolumeClaim:
claimName: demo-csv
然后进行卷安装:
volumeMounts:
- name: demo-pdf
mountPath: "/code/p_data/pdf"
subPath: pdf
- name: demo-tsv
mountPath: "/code/p_data/tsv"
subPath: tsv
- name: demo-csv
mountPath: "/code/p_data/csv"
subPath: csv
但应用程序仍会将主
p_data
文件夹中的所有内容视为应用程序可访问的单个存储。
这种设置在 Kubernetes 中可以实现吗?这有什么明显的缺点吗?
Is this setup achievable in Kubernetes and are there any significant drawbacks to this?
是的,在 Kubernetes 中你可以实现这一点。但是,这里您使用 3 个不同的持久卷并将它们安装到 3 个不同的
mountpath
。在这种情况下,不需要 subPath
,除非您要重用那些已经有一些数据的卷。
subPath
对于在单个 Pod 中共享一个卷以供多种用途非常有用。 VolumeMounts.subPath 属性指定引用卷内的子路径而不是其根路径。
https://kubernetes.io/docs/concepts/storage/volumes/#using-subpath