发布时间: 2023-10-20 文章作者: myluzh 分类名称: Kubernetes 朗读文章
0x01 PV PVC概述
PV(PersistentVolume)是对底层的共享存储的一种抽象,由管理员进行创建和配置。它和具体的底层的共享存储技术的实现方式有关,比如Ceph、GlusterFS、NFS等,都是通过插件机制完成与共享存储的对接。
PVC(PersistentVolumeClaim)是Kubernetes中的一个资源对象,用于抽象地申请和管理持久化存储资源。它向POD(容器运行的环境)提供了一个简单、抽象的接口,用于绑定和挂载一个POD所需要的存储卷。POD可以通过PVC来自动配置和使用存储卷。
实现流程:
0x02 申请PVC例子
1、定义一个pv,名字为my-pv
[root@k8s-master01 k8s]# vi my-pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: my-pv spec: capacity: storage: 5Gi # 指定存储容量为 5Gi accessModes: - ReadWriteMany # 允许读写访问模式 nfs: path: /volume1/DataStore/k8s_nfs server: 172.16.10.15 [root@k8s-master01 k8s]# kubectl apply -f my-pv.yaml persistentvolume/my-pv created
2、创建应用部署并申请PVC持久卷
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-dep1 spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - name: wwwroot mountPath: /usr/share/nginx/html ports: - containerPort: 80 volumes: - name: wwwroot persistentVolumeClaim: claimName: my-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce # 或者其他的访问模式,例如ReadWriteMany resources: # 这个字段通常包含请求的存储资源大小,例如: requests: storage: 5Gi # 请求5Gi的存储资源
发表评论