PV 的生命周期

PV 生命周期总共四个阶段 :

Available(可用)—— 可用状态,尚未被 PVC 绑定。

Bound(已绑定)—— 绑定状态,已经与某个 PVC 绑定。

Released(已释放)—— 与之绑定的 PVC 已经被删除,但资源尚未被集群回收。

Failed(失败)—— 当删除 PVC 清理资源,自动回收卷时失败,所以处于故障状态。 命令行会显示绑定到 PV 的 PVC 的名称 ——kubectl get pv命令

PV 的常用配置参数

存储能力 (capacity)

PV 可以通过配置 capacity 中的 storage 参数,对 PV 挂多大存储空间进行设置。 目前 capacity 只 有一个设置存储大小的选项,未来可能会增加。

存储卷模式(volumeMode)

PV 可以通过配置 volumeMode 参数,对存储卷类型进行设置,可选项包括: Filesystem: 文件系统,默认是此选项。 Block: 块设备 目前 Block 模式只有 AWSElasticBlockStore、AzureDisk、FC、GCEPersistentDisk、iSCSI、 LocalVolume、RBD、VsphereVolume 等支持)。

访问模式(accessModes)

PV 可以通过配置 accessModes 参数,设置访问模式来限制应用对资源的访问权限,有以下机制访问模 式:

(1) ReadWriteOnce——该卷可以被单个节点以读/写模式挂载

(2) ReadOnlyMany——该卷可以被多个节点以只读模式挂载

(3) ReadWriteMany——该卷可以被多个节点以读/写模式挂载

挂载参数(mountOptions)

PV 可以根据不同的存储卷类型,设置不同的挂载参数,每种类型的存储卷可配置参数都不相同。

存储类 (storageClassName)

PV 可以通过配置 storageClassName 参数指定一个存储类 StorageClass 资源,具有特定 StorageClass 的 PV 只能与指定相同 StorageClass 的 PVC 进行绑定,没有设置 StorageClass 的 PV 也是同样只能与没有指定 StorageClass 的 PVC 绑定。

回收策略(persistentVolumeReclaimPolicy)

PV 可以通过配置 persistentVolumeReclaimPolicy 参数设置回收策略,可选项如下:

Retain(保留): 保留数据,需要由管理员手动清理。

Recycle(回收): 删除数据,即删除目录下的所有文件,比如说执行 rm -rf /thevolume/* 命 令,目前只有 NFS 和 HostPath 支持。

Delete(删除): 删除存储资源,仅仅部分云存储系统支持,比如删除 AWS EBS 卷,目前只有 AWS EBS,GCE PD,Azure 磁盘和 Cinder 卷支持删除。

PVC常用参数

筛选器(selector)

PVC 可以通过在 Selecter 中设置 Laberl 标签,筛选出带有指定 Label 的 PV 进行绑定。 Selecter 中可以指定 matchLabels 或 matchExpressions ,如果两个字段都设定了就需要同时满足 才能匹配。

资源请求(resources)

PVC 设置目前只有 requests.storage 一个参数,用于指定申请存储空间的大小。

存储类(storageClass)

PVC 要想绑定带有特定 StorageClass 的 PV 时,也必须设定 storageClassName 参数,且名称也必 须要和 PV 中的 storageClassName 保持一致。如果要绑定的 PV 没有设置 storageClassName 则 PVC 中也不需要设置。

当 PVC 中如果未指定 storageClassName 参数或者指定为空值,则还需要考虑 Kubernetes 中是否设 置了默认的 StorageClass :(1) 未启用 DefaultStorageClass:等于 storageClassName 值为空。(2) 启用 DefaultStorageClass:等于 storageClassName 值为默认的 StorageClass。 (3)如果设置 storageClassName="",则表示该 PVC 不指定 StorageClass。

访问模式(accessModes)

PVC 中可设置的访问模式与 PV 种一样,用于限制应用对资源的访问权限。

K8s中的PV的介绍相关推荐

  1. k8s中几种port介绍

    1.端口所应用位置的不同 port是service的的端口 targetport是pod也就是容器的端口 nodeport是容器所在宿主机的端口(实质上也是通过service暴露给了宿主机,而port ...

  2. k8s中创建pv和pvc

    1,创建一个pv apiVersion: v1 kind: PersistentVolume metadata: name: pv0003 #名称 spec: capacity: storage: 5 ...

  3. k8s中的pv和pvc的区别和联系?什么是pv?什么是pvc?

    PV和PVC的引入 Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足. 要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 哪里. EBS Volume ...

  4. K8S中PV和PVC

    前言 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题.首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失--容器以干净的状态(镜像最初的状态)重新启 ...

  5. K8s 中 ConfigMap 使用介绍

    K8s 中 ConfigMap 使用介绍 一.基本介绍 二.ConfigMap 使用介绍 1.ConfigMap 的创建 2.Pod 中使用 ConfigMap 一.基本介绍 ConfigMap 是一 ...

  6. K8s中pv和pvc的使用

    在我们的应用中可能经常有文件存储的需求,在docker的部署中,我们是通过将容器中的目录直接挂载到宿主机的目录上来解决这个问题的,那么k8s部署的方式肯定有所不同,k8s因为是多节点的,每个pod挂载 ...

  7. k8s中pv和pvc如何理解

    k8s中pv和pvc如何理解 持久化与有状态应用的误区 k8s 带来的持久化问题和应用状态问题 认识PV/PVC/StorageClass 快速理解 生命周期 持久化与有状态应用的误区 刚接触k8s的 ...

  8. 实战:k8s中基于角色的权限访问控制-RBAC(成功测试-博客输出)-20211005

    目录 文章目录 目录 写在前面 基础知识介绍 实验环境 实验软件 老师原课件内容 1..用K8S CA签发客户端证书 2. 生成kubeconfig授权文件 3. 创建RBAC权限策略 4.指定kub ...

  9. 关于K8s中Ansible AWX(awx-operator 0.30.0)平台Helm部署的一些笔记

    写在前面 整理一些K8s中通过Helm的方式部署AWX的笔记分享给小伙伴 博文内容为部署过程和遇到问题的解决过程 食用方式: 需要了解K8s 需要预置的K8s+Helm环境 需要科学上网 理解不足小伙 ...

最新文章

  1. matlab 算法集锦
  2. 转载的Web.config详解
  3. 跨链(6)波卡XCMP跨链通信协议
  4. 《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一1.5 VDC
  5. linux下gdb调试方法和技巧详解
  6. matlab 三维模型怎么导入ansys,Ansys怎么导入模型?Ansys导入模型的方法
  7. FFmpeg过滤器框架分析
  8. c4d fbx大小_C4D设计人员必备的八大外挂神器,爱了爱了!【133期】
  9. html悬浮弹窗后面背景变深,JS+CSS实现Div弹出窗口同时背景变暗的方法
  10. vector深拷贝与浅拷贝使用总结
  11. 并行开发的基本概念及两个重要的定律
  12. iOS开发-UITableView常用方法
  13. Hibernate入门案例及增删改查
  14. 学linux哪个版本号,初学Linux哪个发行版本好?这些更合适!
  15. 种草平台--持续更新
  16. 无线Mesh网络技术及其应用
  17. c语言alt 小键盘,ALT+小键盘输入《泡MM好招》
  18. github上的html项目怎么运行,GitHub搭建简单的项目“Hello HTML”
  19. you和帆船(枚举)
  20. java 字数_java 字数统计

热门文章

  1. Kubernets 安装dashboard
  2. 文字中间保留空白的几种方式
  3. stm32f103的io口复用_stm32-复用功能和重映射
  4. Vue3+ElementPlus 根据路由 自动创建二级菜单
  5. 仿射 ,仿射集,子空间
  6. Cross-Domain Activity Recognition Via Substructural Optimal Transport
  7. python中class什么意思_python中的class代表什么
  8. Python|Python引用图灵机器人api
  9. 高数基础_函数的奇偶性
  10. 极客Java项目实战营郑天民