Kubernetes StorageClass
StorageClass
创建动态PV,使用时无需先创建好PV
创建Provisioner
使用 StorageClass,我们需要安装对应的自动配置程序,比如我们这里存储后端使用的是 nfs,那么我们就需要使用到一个 nfs-client 的自动配置程序,我们也叫Provisioner,这个程序使用我们已经配置好的 nfs 服务器,来自动创建持久卷,也就是自动帮我们创建 PV
- 自动创建的 PV 以${namespace}-${pvcName}-${pvName}格式创建在NFS服务器上
- 而当这个PV被回收后以archieved-${namespace}-${pvcName}-${pvName}这样的命名格式存在 NFS 服务器上
配置Deployment
|
|
ServiceAccount
|
|
StorageClass
|
|
新建PVC
通过annotations属性来标识自动生成PV
123456789101112apiVersion: v1kind: PersistentVolumeClaimmetadata:name: test-pvcannotations:volume.beta.kubernetes.io/storage-class: "es-data-db"spec:accessModes:- ReadWriteManyresources:requests:storage: 1Mi可以设置es-data-db的StorageClass为Kubernetes的默认存储后端
1$ kubectl patch storageclass es-data-db -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
测试
Pod
|
|
StatefulSet
|
|