K8S中SC、PV、PVC的理解

存储类(StorageClass)定义了持久卷声明(PersistentVolumeClaim)所需的属性和行为,而持久卷(PersistentVolume)是实际的存储资源,持久卷声明(PersistentVolumeClaim)是 Pod 对持久卷的请求。

简而言之,存储类定义了持久卷的供应方式,持久卷是预先配置的存储资源,持久卷声明是 Pod 对持久卷的请求。存储类通过与 持久卷声明 绑定来创建符合需求的 持久卷,使得 Pod 可以使用持久卷。

从北漂租客眼中的看法:

  • 存储类 相当于我爱*家、链* 等这种租房中介商
  • 持久卷 相当于一套房子(三室两厅、两室三厅、豪华别墅等)
  • 持久卷声明 相当于租客的需求
  • Pod 相当于租客

租客(Pod)想租房子需要找到中介(SC)说出自己的需求(PVC)。中介(SC)根据租客需求(PVC)找到房子(PV)提供给租客使用。

 

在 Kubernetes 中,存储类(StorageClass)、持久卷(PersistentVolume,PV)和持久卷声明(PersistentVolumeClaim,PVC)是用于管理持久化存储的关键组件。下面是它们之间的关系和作用:

  1. 存储类(StorageClass):存储类是用于定义持久卷的供应方式的抽象。它定义了存储卷的类型、访问模式、回收策略等信息。存储类允许管理员为不同的存储需求创建不同的策略,并且可以根据需要动态创建和删除持久卷。当创建 PVC 时,可以指定要使用的存储类,以便 Kubernetes 根据存储类的定义来创建相应的 PV。
  2. 持久卷(PersistentVolume,PV):持久卷是集群中的一块网络存储空间,它独立于 Pod 的生命周期。PV 是由管理员预先配置的,可以是物理存储设备、网络存储或云存储等。PV 具有容量、访问模式和回收策略等属性。PV 可以手动创建,也可以由存储类动态创建。当 PVC 请求一个符合条件的 PV 时,Kubernetes 会根据存储类的定义和可用的 PV 来选择并绑定一个 PV 给 PVC。
  3. 持久卷声明(PersistentVolumeClaim,PVC):持久卷声明是 Pod 对持久卷的请求。PVC 描述了 Pod 对存储的需求,包括容量、访问模式等。PVC 是通过与存储类绑定来创建符合需求的 PV 的一种方式。当创建 PVC 时,可以指定所需的存储类和其他属性,Kubernetes 会根据这些信息来选择并绑定一个合适的 PV 给 PVC。Pod 可以通过 PVC 来访问和使用持久卷。

 

PV/PVC 创建

# PV
apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    pv.kubernetes.io/provisioned-by: cluster.local/nfs-provisioner
  finalizers:
  - kubernetes.io/pv-protection
  name: pvc-8503070c-0b6f-4bb5-aa58-17722872d8ef
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 2Gi
  claimRef:
    apiVersion: v1
    kind: PersistentVolumeClaim
    name: xxx-inbound-collector-xxx-job-start-load
  mountOptions:
  - noresvport
  nfs:
    path: /data/nfs-external/xxx-xxx-uat-xxx-inbound-collector-xxx-job-start-load-pvc-8503070c-0b6f-4bb5-aa58-17722872d8ef
    server: x.32.x.148
  persistentVolumeReclaimPolicy: Delete
  storageClassName: nfs-client
  volumeMode: Filesystem

# PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-provisioner
  creationTimestamp: "2023-08-29T08:18:23Z"
  finalizers:
  - kubernetes.io/pvc-protection
  name: xxx-inbound-collector-xxx-job-start-load
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 2Gi
  storageClassName: nfs-client
  volumeMode: Filesystem
  volumeName: pvc-8503070c-0b6f-4bb5-aa58-17722872d8ef

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/305276.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ISPM 十四五规划

指导思想 坚定不移贯彻创新、协调、绿色、开放、共享的新发展理念,坚持稳中求进工作总基调 2035展望 展望2035年,基本实现新型工业化、信息化、城镇化、农业现代化,建成现代化经济体系。 重大科技基础设施 深入实施制造强国战略 相关关键…

Gartner发布2024年SASE融合战略路线图

向云计算和远程工作的转变增加了 SASE 需求,以实现从任何设备的安全访问。安全和风险管理领导者必须将网络和安全融合到一两个明确合作的 SASE 供应商产品中,并淘汰遗留的边界系统。 主要发现 安全访问服务边缘 (SASE) 框架为混合劳动力以及设备、分支机…

2023年生成式AI全球使用报告

生成式人工智能工具正在迅速改变多个领域,从营销和新闻到教育和艺术。 这些工具使用算法从大量培训材料中获取新的文本、音频或图像。虽然 ChatGPT 和 Midjourney 之类的工具可以用来实现超出人类能力或想象力的艺术效果,但目前它们最常用于比人类更轻松…

HarmonyOS 编写副标题 解决 ubTitle 可能淘汰问题

目前 harmonyos 中 title属性目前用的还正常 但是ubTitle副标题 会提示我们 可能要淘汰了 虽然说 我们目前 强行用 还是可以生效 但可能 哪天版本更新移除了这个属性 代码就报错了 我们可以通过Builder 来写这个副标题 和 标题 Entry Component struct Index {build() {Row(…

2024年跨境电商上半年营销日历,建议收藏

2024年伊始,跨境电商开启新一轮的营销竞技,那么首先需要客户需求,节假日与用户需求息息相关,那么接下来小编为大家整理2024上半年海外都有哪些节日和假期?跨境卖家如何见针对营销日历选品,助力卖家把握2024…

引领未来,尽享舒适——Goalar高拉科技智能马桶

随着科技的飞速发展,智能家居已经成为现代生活的必备品。在这个时代,一款高品质的智能马桶不仅能提升消费者的生活品质,更是对消费者健康的细心呵护。Goalar高拉科技智能马桶,用心为消费者打造智能卫浴的未来。 【创新设计&#x…

Spring Cloud OpenFegin(创建、发送请求)源码

感觉这一年来学习的知识点都是零零碎碎的,没有形成一个系统闭环,于是萌生了系统总结 Spring Cloud 源码相关的知识点的想法。后续会持续更新系统性的文章。纯原创,debug 总结。今天先简单debug下 OpenFegin 的创建吧。 项目结构 标准的…

JavaScript数组操作完全手册

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ 目录 ✨ 前言 第一节:数组的定义和创建 1.1 数组字面量 [] 1.2 Array构造函数 1.3 Array.of() …

嵌入式-C语言-ASCII码(字符)转换二进制和十六进制

一:ASCII码是什么? 问:ASCII码是什么? 答:ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)是一种用于表示字符的标准编码系统。它使用7位或8位…

书生·浦语大模型--第一节课

书生浦语大模型--第一节课 引言书生浦语大模型发展历程大模型的应用 全链条开放体系数据开源预训练工具微调微调框架 评测工具智能体应用框架工具箱 总结 参考链接 目标:掌握大语言模型开发和应用技能 引言 大语言模型成为学术界和工业界的热门话题。 起源于2018年…

面向设计师的11个必备AI工具

在当今快速发展的设计领域,人工智能(AI)工具已成为不可或缺的创新催化剂。这些工具专门用于提高效率和创造力,从而重新定义传统的设计方法。AI正在彻底改变设计师的工作方式,从自动处理任务到发掘新的创造力机会&#…

Python爬虫必学数据库:MongoDB

微信公众号:愤怒的it男,超多Python技术干货文章。 MongoDB由C编写而成,是免费开源跨平台的非关系型数据库,与关系型数据库不同,MongoDB将数据存储在类似JSON的文档中,这使得数据库非常灵活和可伸缩。 一、环…

开放平台系统架构设计

一、概述 背景与目标 本开放平台旨在构建一个可扩展、高可用的生态体系,通过提供统一标准的API接口和SDK工具包,让第三方开发者能够安全、高效地接入我们的服务和资源,实现业务的互联互通。 定位与功能描述 系统主要包含用户认证授权、资…

TS2307: Cannot find module ‘./App.vue‘ or its corresponding type declarations.

目录 1. 问题描述2. 解决方案一:VSCode Volar(官方推荐)3. 解决方案二:WebStorm 2023.2 (官方推荐)4. 解决方案三:禁用严格类型检查选项(不推荐)5. 解决方案四&#xff…

Power BI - 5分钟学习修改数据类型

每天5分钟,今天介绍Power BI修改数据类型 Power BI加载数据时,会尝试将源列的数据类型转换为更高效的存储、计算和数据可视化的数据类型。 例如,如果从Excel导入的值的列没有小数值,Power BI Desktop会将整个数据列转换为整数数据…

Spring学习之——事务控制

Spring中的事务控制 说明: JavaEE体系进行分层开发,事务处理位于业务层,Spring提供了分层设计业务层的事务处理解决方案。 Spring框架为我们提供了一组事务控制的接口。具体在后面的小节介绍。这组接口是在spring-tx.RELEASE.jar中。 spri…

软件测试|如何在Pycharm中配置文件头部信息

简介 PyCharm是一款功能强大的Python集成开发环境(IDE),在开发过程中,我们经常需要在代码文件的开头添加固定的文件说明信息,例如版权声明、作者信息、创建日期等。手动添加这些信息可能会很繁琐,但是PyCh…

【51单片机系列】串口通信模块

文章目录 一、计算机串行通信基础二、串行通信的基本概念2.1、异步通信与同步通信2.2、串行通信的传输方向2.3、串行通信常见的错误校验2.4、传输速率 三、串行通信接口标准3.1、RS-232C接口3.2、RS-422A3.3、RS-485接口 四、80C51的串行口4.1、80C51串行口的控制寄存器4.2、80…

数集 - 240109 - 数集期末速成

TAG - 数集、期末、速成 数集、期末、速成 数集、期末、速成 复习提纲 1、静态逻辑设计和晶体管尺寸设计 2、逻辑组合速度估算 3、传输门规则和设计、动态pmos,nmos设计及输出波形 4、第三章涉及的工艺流程 5、时序电路的时序分析 6、全加器和乘法器设计 7、非挥发存储单…

给自己创建的GPTs添加Action(查天气)

前言 在这篇文章中,我将分享如何利用ChatGPT 4.0辅助论文写作的技巧,并根据网上的资料和最新的研究补充更多好用的咒语技巧。 GPT4的官方售价是每月20美元,很多人并不是天天用GPT,只是偶尔用一下。 如果调用官方的GPT4接口&…