Kubernetes 第十一章 PV/PVC/StorageClass

PV/PVC/StorageClass

管理存储是管理计算的一个明显问题。PersistentVolume子系统为用户和管理员提供了一个API,用于抽象如何根据消费方式提供存储的详细信息。为此,我们引入了两个新的API资源:PersistentVolumePersistentVolumeClaim

PersistentVolume(PV)是群集中的一块存储,由管理员配置或使用存储类动态配置它是集群中的资源,就像节点是集群资源一样。PV是容量插件,如Volumes,但其生命周期独立于使用PV的任何单个pod。此API对象捕获存储实现的详细信息,包括NFS,iSCSI或特定于云提供程序的存储系统。

PersistentVolumeClaim(PVC)是由用户进行存储的请求。它类似于一个pods。Pod消耗节点资源,PVC消耗PV资源。Pod可以请求特定级别的资源(CPU和内存)。声明可以请求特定的大小和访问模式(例如,可以一次读/写或多次只读)。

最终实现数据的持久化

使用NFS 测试

[root@kube yum.repos.d]# yum install -y nfs-utils   //安装服务
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
.......

[root@kube data]# cat /etc/exports   //编辑配置文件
/nfs/data 10.2.61.0/24(rw,no_root_squash,sync)
[root@kube data]# 
#启动服务
systemctl restart rpcbind && systemctl enable rpcbind
systemctl restart nfs && systemctl enable nfs

//安装客户端也是通过 yum install -y nfs-utils

nfs 创建多个挂载点

[root@kube data]# exportfs
/nfs/data/v1      10.2.61.0/24
/nfs/data/v2      10.2.61.0/24
/nfs/data/v3      10.2.61.0/24
/nfs/data/v4      10.2.61.0/24
/nfs/data/v5      10.2.61.0/24
/nfs/data/v6      10.2.61.0/24
/nfs/data/v7      10.2.61.0/24
/nfs/data/v8      10.2.61.0/24
/nfs/data/v9      10.2.61.0/24
[root@kube data]# 
[root@kube data]# systemctl restart rpcbind && systemctl restart nfs
[root@kube data]# 

 

创建PV

[root@kube pv-pvc]# cat p1.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  nfs:
    path: /nfs/data/v1
    server: 10.2.61.21
[root@kube pv-pvc]# 
[root@kube pv-pvc]# kubectl get pv
NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv0001   5Gi        RWO            Recycle          Available           slow                    20s
[root@kube pv-pvc]# 

猜你喜欢

转载自www.cnblogs.com/zy09/p/11419779.html