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

网站栏目架构今日军事新闻最新消息新闻

网站栏目架构,今日军事新闻最新消息新闻,佛山网站建设是哪个好,汕头关键词排名系统文章目录 PV -- 存储资源提供者PVC -- 存储资源使用者pod绑定PVC StorageClass -- 定义“类型”与提供“策略”。工作原理1. 静态绑定流程2. 动态供应流程 通俗理解pv,pvc,storage1. PV(PersistentVolume)- 已存在的存储资源关键字段常见访问模式 2. PVC…

文章目录

  • PV -- 存储资源提供者
  • PVC -- 存储资源使用者
    • pod绑定PVC
  • StorageClass -- 定义“类型”与提供“策略”。
  • 工作原理
    • 1. 静态绑定流程
    • 2. 动态供应流程
  • 通俗理解pv,pvc,storage
    • 1. PV(PersistentVolume)- 已存在的存储资源
      • 关键字段
      • 常见访问模式
    • 2. PVC(PersistentVolumeClaim)- 开发者的存储请求
      • 关键字段
    • 3. StorageClass —— 自动建 PV 的“工厂说明书”
      • 常见字段:
    • 三者之间的关系
    • 创建顺序一图看懂
  • 实战示例
    • 1. 创建StorageClass(以hostPath模拟)
    • 2. 创建 PV(静态方式)
    • 3. 创建 PVC
    • 4. Pod 挂载 PVC

在 Kubernetes(K8s)中, 持久化存储(Persistent Storage)是构建 有状态服务(如数据库、缓存等)的关键组件。而 PersistentVolume(PV)PersistentVolumeClaim(PVC) 是用于管理 持久化存储资源的核心机制。它们是 Kubernetes 中的 存储抽象层解耦了存储的具体 实现使用方式。

功能/组件描述
PV存储资源抽象,管理员定义的磁盘。
PVC用户的资源请求,定义容量/访问模式等。
StorageClass定义存储的类型、策略,实现动态分配。
访问模式ReadWriteOnceReadOnlyManyReadWriteMany
回收策略Retain(保留)、Recycle(回收)、Delete(删除)
动态供应通过 StorageClass 实现,自动创建 PV

PV – 存储资源提供者

  • PV 是集群管理员提供的一块持久化存储资源,是对存储的抽象封装。
    • 类似于硬件层面的“磁盘分区”。
    • 由管理员预先配置(静态)或由系统动态创建。
    • 与具体 Pod 解耦,生命周期独立于 Pod。

常见类型:hostPath、NFS、CephFS、GlusterFS、AWS EBS、GCE PD、CSI 插件 等。

创建pv-nfs.yaml

apiversion: v1
kind: PersistentVolume    # 描述资源对象为PV类型
metadata:name: pv0001            # PV 的名字
spec:capacity:               # 容量配置storage: 5Gi          # pv的容量volumeMode: Filesystem  # 存储类型为文件系统accessModes:  # 访问模式: ReadwriteOnce(同时只能被一个PVC使用)、ReadwriteMany、ReadOnlyMany- ReadwriteMany       # 可被单节点独写persistentvolumeReclaimPolicy: Retain   # 回收策略storageClassName: slow   # 创建 PV的存储类名,需要与pvc的相同mountOptions:            # 加载配置- hard- nfsvers=4.1nfs:  # 连接到nfspath: /data/nfs/rw/test-pv   # 存储路径server: 192.168.113.121      # nfs服务地址

创建pv资源

kubectl create -f pv-nfs.yaml

在这里插入图片描述
获取PV资源

kubectl get pv

在这里插入图片描述
pv状态说明

状态(Status)含义说明
Available可用状态,表示 PV 已创建但尚未被任何 PVC 绑定。
Bound已绑定状态,PV 已与某个 PVC 成功绑定。
Released已释放状态,绑定的 PVC 已删除,但 PV 尚未回收或重新绑定。
Failed失败状态,表示 PV 发生了错误,如回收失败或无法使用。
Terminating正在删除状态,表示 PV 正在被删除(在某些 Kubernetes 版本中可见)。

PVC – 存储资源使用者

  • PVC 是用户对持久存储资源的请求。
    • 就像 Pod 请求 CPU/内存一样,请求一个“磁盘资源”。
    • 用户通过 PVC 说明期望的容量、访问模式(ReadWriteOnce、ReadOnlyMany、ReadWriteMany)。
    • 系统将 PVC 绑定到满足条件的 PV 上。

创建PVC
pvc-test.yaml

apiVersion: v1
kind: PersistentVolumeClaim  # 资源类型为 PVC
metadata:name: nfs-pvc
spec:accessModes:- ReadwriteMany   # 权限需要与对应的pv相同volumeMode: Filesystemresources:requests:storage: 5Gi   # 资源可以小于pv 的,但是不能大于,如果大于就会匹配不到 pvstorageClassName: slow   #名字需要与对应的pv相同
#selector:#使用选择器选择对应的pv
## matchLabels:
## release: "stable"
## matchExpressions:
## - { key : environment,operator: In,values: [dev]}
#
kubectl create -f pvc-test.yaml

在这里插入图片描述
获取pvc,pv可以看到pv与pvc的绑定关系
在这里插入图片描述

pod绑定PVC

在pod的挂载容器配置中,增加pvc挂载

apiversion: v1
kind: Pod
metadata:name: test-pvc-pd
spec:containers:- image: nginxname: nginx-volumevolumeMounts:- mountPath: /usr/share/nginx/html  # 挂载到容器的哪个目录name: test-volume   # 挂载哪个volumevolumes:- name: test-volumepersistentVolumeClaim:    # 关联pveclaimName: nfs-pvc      # 要关联到哪个pvc

StorageClass – 定义“类型”与提供“策略”。

  • StorageClass 定义了存储的“类型”与“动态供应策略”。
    • 指定存储的级别、类型(SSD/HDD)、副本数等参数。
    • 实现 PVC 的动态创建 PV。
    • 不同云平台和插件支持不同的 StorageClass 类型。

工作原理

1. 静态绑定流程

  • 静态绑定流程
    • 1.管理员创建好 PV。
    • 2.用户创建 PVC。
    • 3.Kubernetes 根据 PVC 的需求自动匹配一个合适的 PV 并进行绑定。

2. 动态供应流程

  • 动态供应流程
    • 1.用户创建一个带 storageClassName 的 PVC。
    • 2.Kubernetes 自动调用该 StorageClass 对应的存储插件动态创建 PV。
    • 3.自动绑定 PVC 和新建的 PV。

通俗理解pv,pvc,storage

想象你是一个人(开发者),你要租一个仓库(数据存储)来放你的货(数据)。

K8s 组件类比谁来写
PV(PersistentVolume)仓库管理员创建的“仓库”管理员
PVC(PersistentVolumeClaim)你提交的“租仓库申请”开发者
StorageClass仓库的类型和建仓规则(自动建仓策略)管理员配置

所以流程是这样的:

  1. 你(Pod)提出一个仓库申请(PVC);
  2. 如果已经有仓库(PV)满足条件,系统自动配对给你;
  3. 如果没有,系统可以按规则(StorageClass)动态建一个仓库(动态创建 PV);
  4. 仓库(PV)一旦租给你(PVC),你就可以使用它了。

1. PV(PersistentVolume)- 已存在的存储资源

由管理员手动创建或通过 StorageClass 动态创建。
它定义了能用的存储,比如大小、类型(NFS、EBS)、访问权限等。

kind: PersistentVolume
spec:capacity:storage: 10GiaccessModes:- ReadWriteOncestorageClassName: fast

关键字段

字段说明
capacity存储容量,如 1Gi
accessModes访问模式,如 ReadWriteOnce
storageClassName指定属于哪个 StorageClass
hostPath, nfs存储后端类型
persistentVolumeReclaimPolicy释放后的回收策略:Retain、Delete、Recycle

常见访问模式

模式含义
ReadWriteOnce单个节点读写(最常用)
ReadOnlyMany多个节点只读
ReadWriteMany多个节点读写(如 NFS、CephFS)

2. PVC(PersistentVolumeClaim)- 开发者的存储请求

由开发者或应用创建,描述你需要多大的盘、是否可读写等。
系统会查找满足这个 PVC 的 PV 并绑定。

kind: PersistentVolumeClaim
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10GistorageClassName: fast

关键字段

字段说明
resources.requests.storage申请的存储大小,如 500Mi
accessModes访问模式,必须与 PV 匹配
storageClassName指定使用哪个 StorageClass 的 PV

PVC 会根据配置寻找一个满足条件(容量、访问模式、StorageClass)的 PV 并绑定。

3. StorageClass —— 自动建 PV 的“工厂说明书”

常见字段:

字段含义
provisioner指定由哪个插件或 CSI 驱动负责动态创建 PV
parameters提供给插件的参数(如存储类型、目录、池名等)
volumeBindingMode等待调度策略,常用 WaitForFirstConsumer
reclaimPolicy释放后的回收策略(Retain/Delete)
kind: StorageClass
metadata:name: fast
provisioner: kubernetes.io/aws-ebs
parameters:type: gp2

三者之间的关系

概念作用典型由谁创建
PV实际的存储资源对象管理员或动态创建
PVC用户申请存储的请求开发者 / 应用提交
StorageClass定义存储类型模板,支持动态供给管理员

在这里插入图片描述

创建顺序一图看懂

使用方式顺序描述
静态分配1️⃣ PV → 2️⃣ PVC → 3️⃣ Pod管理员先建 PV,PVC 请求时自动绑定
动态分配1️⃣ StorageClass → 2️⃣ PVC → 3️⃣ PV 自动生成 → 4️⃣ PodPVC 自动触发 PV 创建并绑定

实战示例

1. 创建StorageClass(以hostPath模拟)

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

2. 创建 PV(静态方式)

apiVersion: v1
kind: PersistentVolume
metadata:name: my-pv
spec:capacity:storage: 5GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: local-storagehostPath:path: "/mnt/data"

3. 创建 PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: my-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 5GistorageClassName: local-storage

4. Pod 挂载 PVC

apiVersion: v1
kind: Pod
metadata:name: pvc-pod
spec:containers:- name: appimage: nginxvolumeMounts:- mountPath: "/usr/share/nginx/html"name: my-storagevolumes:- name: my-storagepersistentVolumeClaim:claimName: my-pvc
http://www.yidumall.com/news/47077.html

相关文章:

  • caddy下安装WordPress湖南seo
  • 滨州企业做网站中国第三波疫情将在9月份
  • 网站建设招标书模板关键词搜索技巧
  • 仪征 做网站下载班级优化大师app
  • 长城宽带做网站抖音搜索关键词排名查询
  • 网站建设简单点的推广发帖网站
  • 网站app建设徐州seo
  • 现在中国空间站有几个人昆明seo网站管理
  • 自己建网站怎么做影视资源产品宣传推广策划
  • 口碑好的做网站公司龙华网站建设
  • 义乌哪里做网站好西安百度推广客服电话多少
  • 男女做污污的网站网络优化seo是什么工作
  • 威海外贸网站建设杭州网站优化培训
  • 素马网站建设服务收费标准免费制作自己的网页
  • 1111wk域名更换成都排名seo公司
  • 做电子外贸网站公关公司经营范围
  • 做美食有哪些网站搜狗官网
  • 政府网站如何建设管理培训心得体会1500字
  • 桂林卖手机网站seo排名点击
  • 青岛建站seo搜索引擎优化内容
  • 湛江网站排名提升a5站长网网站交易
  • 网站图片设计怎样才能高大上网页优化包括
  • apache添加网站十大搜索引擎
  • 阳春网站开发seo网站关键词排名优化
  • 免费网站制作新闻如何创建自己的网站平台
  • 模板网站能用吗湖南网站托管
  • 如何改wordpress的title南昌百度seo
  • 网站建站 上海汕头百度网站排名
  • 杭州做网站haomae百度优化师
  • 建设医院官方网站seo软件工具箱