Kubernetes详解(三十七)——PV与PVC
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes PV与PVC。
一、PV和PVC详解
当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中,放了方便我们的使用和管理,Kubernetes提出了PV和PVC的概念,这样Kubernetes集群的管理人员就可以将注意力集中到Kubernetes集群中来,而无需操心后端的存储设备了。
Kubernetes集群存储架构如下所示:
从上图可以看出,底层的存储可以使各种类型,包括NFS、Ceph、iSCSI等等,而Kubernetes会把这些存储统一抽象为PV。PV,即Persistent Volume,是集群中配置的存储资源。PVC,即Persistent Volume Claim,是用户存储的请求,通常我们在一个Pod中定义一个存储卷,定义的时候会指定该存储卷的相关信息,比如空间大小、可读可写等属性。但是PVC并不是真正的存储空间,Pod的PVC和PV之间必须建立某种联系,这样才能使得Pod可以调用实际存储空间。
二、PV和PVC生命周期
实际上,不管是PV,还是PVC,都遵循以下生命周期:
1、Provisioning
Provisioning,即配置阶段。一般而言,PV的提供方式有两种——静态和动态。
所谓静态提供,就是Kubernetes管理员创建多个PV,这些PV的存储空间等属性已经确定,并且已经和真实的存储设备进行了关联。Pod中的PVC可以根据需要请求这些PV。
所谓动态提供,需要依托与StorageClass的支持,这时Kubernetes会尝试为PVC来动态的创建PV。这样做的好处是避免出现这种情况:部分PVC被分配给了远远超出其资源需求的PV、或者说系统存在很多资源较少的PV,但是一个资源需求很高的PVC缺无法被满足的情况。
2、Binding
在动态配置的情况下,用户创建或者已经创建了具有特定数量的PVC后,PVC与PV绑定的过程。
如果没有满足PVC请求需求的PV,那么PVC将无法被创建,因此造成的结果就是相应的Pod也不会被创建。
3、Using
即PVC与PC绑定后,Pod对存储空间的使用过程。
4、Releasing
当Pod被删除或者对该PV的资源使用结束后,Kubernetes就会删除该PVC对象,相应的也会回收PV资源,这时的PV就会处于这种状态。但是此时的PV还需要处理完毕之前的Pod在该存储卷上存储信息后才能够被使用。
5、Reclaiming
PV的回收策略对被释放的PV的处理过程。
6、Recycling
根据配置,有时PV会被执行擦除操作,删除掉该存储空间上的所有信息,并且该存储资源也可以被再次使用。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
Kubernetes详解(三十七)——PV与PVC相关推荐
- Kubernetes详解(三十九)——Storage Class
今天继续给大家介绍Linux运维相关知识,本文主要内容是Storage Class相关内容. 一.Storage Class简介 在前文Kubernetes详解(三十八)--NFS对PVC和PV使用实 ...
- python笔记-Pygame详解(十七):joystick 模块
感谢:来自江南的你 Pygame详解(十七):joystick 模块 #coding:utf-8 import pygame# Define some colors定义一些颜色 BLACK = ( 0 ...
- Kubernetes详解(五十三)——Kubernetes Role创建和Rolebinding
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes Role创建和Rolebinding. 一.Kubernetes Role创建 首先,我们先来创建一个Role.我们可以通 ...
- Android init.rc文件解析过程详解(三)
Android init.rc文件解析过程详解(三) 三.相关结构体 1.listnode listnode结构体用于建立双向链表,这种结构广泛用于kernel代码中, android源代码中定义了l ...
- linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)
linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...
- Windows 7防火墙设置详解(三)
Windows 7防火墙设置详解(三) 一.如何禁用或启用规则 方法:只需要在需要禁用或启动的规则上,鼠标右键选择启用或禁止规则即可,或点击右侧的操作栏进行规则启用或禁止. 二.入站规则和出站规则 由 ...
- Android Studio 插件开发详解三:翻译插件实战
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78113868 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...
- 数据结构--图(Graph)详解(三)
数据结构–图(Graph)详解(三) 文章目录 数据结构--图(Graph)详解(三) 一.深度优先生成树和广度优先生成树 1.铺垫 2.非连通图的生成森林 3.深度优先生成森林 4.广度优先生成森林 ...
- SharePoint2007安装图文详解三:安装SqlServer2005
SharePoint2007 中的很多功能会用到数据库,如分析服务,报表服务等.本文介绍SqlServer2005的安装,数据库的安装很简单,基本上安装默认选项点击下一步即可,需要注意的地方在下面会提 ...
- C语言中三个数比较大小详解——三种方法
C语言中三个数比较大小详解--三种方法 方法一:if-else法 方法二:函数法 方法三:三目运算符法 C语言中比较三个数的大小有很多方法,以下是我总结的三种方法: 首先我定义 int a = 1 ...
最新文章
- 在python中等号前面与后面分别是什么意思-Python中%是什么意思?python中百分号如何使用?...
- 计算机网络(谢希仁第八版)第一章:概述
- python初学者代码示例_Selenium 快速入门笔记和代码示例(Python版)
- python butter带通滤波器滤波出来的信号有NAN值或者分类效果极差
- Redis 实用技术——消息发布和订阅
- 缠论k线合并处理python实现_缠论期货:道琼斯工业指数缠论分解体系5F趋势背驰,3买能否构筑成功?...
- 【leetcode刷题笔记】Restore IP Addresses
- Linux/Unix IO多路复用之select网络编程(含源码)
- idea 如何修改主题
- VBS 对IBM Notes的常规操作
- 【推文】人间清醒VS梅花痣俏郎君
- python支持的编程方式包括,python的两种编程方式是什么
- 前端-table表格隔行变色
- 算法学习之实现二维矩阵的顺时针遍历
- 【模拟电子技术Analog Electronics Technology 5】——晶体三极管基极和集电极电阻有什么作用?
- 自动在副屏/虚拟屏启动100%鲜橙汁 | 可用于上班摸鱼
- 1055. The World's Richest (25)
- ubuntu系统声音_Ubuntu Linux系统提示声音设置
- 初识App Inventor 2(AI2)
- 《潜龙谍影4》详细剧情解析