当前位置: 首页 > news >正文

k8s 持久化存储方案-PVC

参考官网:https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclai
ms

一、K8s PV 是什么?

PersistentVolume(PV):PV 是集群中的存储资源,可以是物理存储设备、网络存储或云存储等。PV 独立于 Pod 存在,它们是集群级别的资源,由集群管理员进行配置和管理。PV 具有持久性,即使 Pod被删除,PV 中的数据也会保留。PV 定义了存储的容量、访问模式和其他属性。

K8s PVC 是什么

PersistentVolumeClaim(PVC):PVC 是 Pod 对 PV 的申请,它表示 Pod 需要一定的存储资源来满足其持久化存储需求。PVC 在 Pod 和 PV 之间建立了一个抽象层,使得 Pod 无需关心底层存储的具体细节。PVC 定义了 Pod 对存储的需求,包括存储容量、访问模式等。

K8s PVC 和 PV 工作原理:当创建一个 PersistentVolume(PV)和 PersistentVolumeClaim(PVC)时,它们之间的相互作用和工作原理如下:

通过 PV 和 PVC 的结合使用,Kubernetes 提供了一种灵活的持久化存储管理机制,使得使得 k8s
使用者可以轻松地申请、使用和管理存储资源,同时提供了不同的回收策略以满足不同的需求。

二、创建 pod,使用 pvc 作为持久化存储卷

1、创建 nfs 共享目录
#在宿主机创建 NFS 需要的共享目录
[root@xuegod63 ~]# mkdir /data/volume_test/v{1,2} -p
#配置 nfs 共享宿主机上的/data/volume_test/v1..v2 目录
[root@xuegod63 ~]# vim /etc/exports
/data/volume_test/v1 *(rw,no_root_squash)
/data/volume_test/v2 *(rw,no_root_squash)

#重新加载配置,使配置成效
[root@xuegod63 ~]# exportfs -arv

2、如何编写 pv 的资源清单文件
#查看定义 pv 需要的字段  kubectl explain pv   

pv.yaml 配置文件

apiVersion: v1
kind: PersistentVolume
metadata:name:  v1labels:app: v1
spec:capacity:storage: 1Gi  accessModes: ["ReadWriteOnce"]nfs:path: /data/volume_test/v1 server: 192.168.1.63     
---
apiVersion: v1
kind: PersistentVolume
metadata:name:  v2labels:app: v2
spec:capacity:storage: 2GiaccessModes: ["ReadWriteMany"]nfs:path: /data/volume_test/v2server: 192.168.1.63

3、创建 pv

#更新资源清单文件 

 kubectl apply -f pv.yaml

#查看 pv 资源 

kubectl get pv --show-labels

4、创建 pvc,和符合条件的 pv 绑定

 pvc.yaml 配置文件

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: my-pvc
spec:selector:matchLabels:app: v2accessModes: ["ReadWriteMany"]resources:requests:storage: 2Gi

#更新资源清单文件 

kubectl apply -f pvc.yaml

#查看 pv 和 pvc 

kubectl get pv
kubectl get pvc

5、创建 pod,挂载 pvc

vim pod_pvc.yaml 

apiVersion: v1
kind: Pod
metadata:name: pod-pvc
spec:containers:- name: nginximage: nginximagePullPolicy: IfNotPresentvolumeMounts:- name: nginx-htmlmountPath: /usr/share/nginx/htmlvolumes:- name: nginx-htmlpersistentVolumeClaim:claimName: my-pvc

#更新资源清单文件
[root@xuegod63 ~]# kubectl apply -f pod_pvc.yaml 

#查看 pod 状态 #

kubectl get pods -owide | grep pod-pvc

测试 pod 挂载 PVC 是否正常:
在绑定的 v2 目录下创建文件,写入测试内容“my-pvc”

[root@xuegod63 ~]# echo "my-pvc" >> /data/volume_test/v2/index.html
[root@xuegod63 ~]# curl 10.244.104.12 
my-pvc

测试删除 pod,再重新创建 pod ,挂载原先的 pvc,看数据是否会丢失:
[root@xuegod63 ~]#kubectl delete -f pod_pvc.yaml
[root@xuegod63 ~]#kubectl apply -f pod_pvc.yaml
[root@xuegod63 ~]# kubectl get pods -owide | grep pod-pvc
pod-pvc 1/1 Running 0 27s 10.244.104.13
[root@xuegod63 ~]# curl 10.244.104.13
my-pvc
pod 重新挂载到原 pvc,数据还在

http://www.dtcms.com/a/492637.html

相关文章:

  • 【雅思播客024】Investing in Emerging Markets
  • 江阴建设局网站招考查派网站建设
  • 国内做网站建设知名的公司海口网站制作网站
  • 导购网站如何做国外推广怎么做
  • 四川做网站优化价格国内做网站的大公司有哪些
  • Day22 回溯算法_part01
  • MySQL 数据库优化设计:优化原理和数据库表设计技巧
  • 技术观察:RPA到智能体转型的三大技术陷阱与路径选择
  • 2023网站推广入口中国室内设计师资格证
  • 有没有专业做艺术品的网站潍坊潍微贷是哪家网站建设的
  • 网站关键词多少个最好潜江资讯网二手车
  • 信号数据(eeg,ecg,心率等)- 深度学习
  • 社团网站建设小公司做网站还是微博
  • 第8章 基于表格型方法的规划和学习(1) 模型、规划与学习和Dyna-Q
  • 做网站的前景如何营销策略国内外文献综述
  • 购物型网站怎么建立wordpress证优客
  • 冷门行业做网站的优势o2o网站建设多少钱
  • 网站后台的建设建设网站是做什么
  • [嵌入式系统-124]:GPU软件运行平台的三个支柱:OpenGL、OpenCL 、CUDA
  • 网站信息抽查评估杭州专业seo服务公司
  • 网站备案号查询网址免费空间申请哪个好
  • 洛阳网站建设睿翼网络入驻洛阳做钓鱼网站
  • 株洲网站建设平台免费网站空间 国外
  • 负面信息网站做特价的网站百度
  • 盲盒app怎么提升用户访问速度
  • 织梦网站密码网站建设工作 方案
  • 城市分站cmswordpress比织梦安全吗
  • 网站怎么做需要花钱吗深圳网络推广市场
  • AUTOSAR进阶图解==>AUTOSAR_TPS_TimingExtensions
  • 算法|动态规划及例题思路