Kubernetes PV/PVC配置模板
本地路径映射(HostPath)
HostPath 卷存在许多安全风险,最佳做法是尽可能避免使用 HostPath。 当必须使用 HostPath 卷时,它的范围应仅限于所需的文件或目录,并以只读方式挂载。
1  | apiVersion: v1  | 
支持的 type 值如下:
| 取值 | 行为 | 
|---|---|
| 空字符串(默认)用于向后兼容,这意味着在安装 hostPath 卷之前不会执行任何检查。 | |
DirectoryOrCreate | 
如果在给定路径上什么都不存在,那么将根据需要创建空目录,权限设置为 0755,具有与 kubelet 相同的组和属主信息。 | 
Directory | 
在给定路径上必须存在的目录。 | 
FileOrCreate | 
如果在给定路径上什么都不存在,那么将在那里根据需要创建空文件,权限设置为 0644,具有与 kubelet 相同的组和所有权。 | 
File | 
在给定路径上必须存在的文件。 | 
Socket | 
在给定路径上必须存在的 UNIX 套接字。 | 
CharDevice | 
在给定路径上必须存在的字符设备。 | 
BlockDevice | 
在给定路径上必须存在的块设备。 | 
1  | apiVersion: storage.k8s.io/v1  | 
local
local卷只能用作静态创建的持久卷。不支持动态配置。与
hostPath卷相比,local卷能够以持久和可移植的方式使用,而无需手动将 Pod 调度到节点。系统通过查看 PersistentVolume 的节点亲和性配置,就能了解卷的节点约束。
使用 local 卷时,你需要设置 PersistentVolume 对象的 nodeAffinity 字段。 Kubernetes 调度器使用 PersistentVolume 的 nodeAffinity 信息来将使用 local 卷的 Pod 调度到正确的节点。
PersistentVolume 对象的 volumeMode 字段可被设置为 “Block” (而不是默认值 “Filesystem”),以将 local 卷作为原始块设备暴露出来。
1  | apiVersion: v1  | 
NFS映射
1  | 
Minio
1  | 
Ceph
1  |