遂平县网站建设,助君网络怎么样,邢台网站建设平台,长春网站建设网站本文内容均来自个人笔记并重新梳理#xff0c;如有错误欢迎指正#xff01; 如果对您有帮助#xff0c;烦请点赞、关注、转发、订阅专栏#xff01; 专栏订阅入口 Linux 专栏 | Docker 专栏 | Kubernetes 专栏 往期精彩文章 【Docker】#xff08;全网首发#xff09;Kyl… 本文内容均来自个人笔记并重新梳理如有错误欢迎指正 如果对您有帮助烦请点赞、关注、转发、订阅专栏 专栏订阅入口 Linux 专栏 | Docker 专栏 | Kubernetes 专栏 往期精彩文章 【Docker】全网首发Kylin V10 下 MySQL 容器内存占用异常的解决方法 【Docker】全网首发Kylin V10 下 MySQL 容器内存占用异常的解决方法续 【Docker】MySQL 源码构建 Docker 镜像基于 ARM 64 架构 目录
一、基本介绍
二、资源清单示例
1、使用本地存储
2、使用 NFS 存储
3、使用 CSI 存储如阿里云 NAS
三、相关说明
1、状态类型Status
2、访问模式AccessModes
3、回收策略persistentVolumeReclaimPolicy 一、基本介绍
在 Kubernetes 中PersistentVolume持久化卷PV是一种与存储相关的资源对象可以定义存储容量、访问模式、回收策略、存储插件等信息。PV 具有独立的生命周期不会随着 Pod 的销毁被删除。PV 的生命周期包括配置、绑定、使用、保护、回收几个阶段。 PV 对象不属于任何命名空间 二、工作原理
定义对象静态模式下管理员预先在集群中定义 PV 对象指定其存储容量、访问模式、回收策略、存储插件等配置信息创建对象静态模式下按照管理员预先定义好的资源清单创建 PV 对象动态模式下StorageClass 根据 PVC 的申请动态创建 PV 对象绑定当一个 PVC 对象创建后Kubernetes 会寻找一个匹配的 PV 进行绑定这个过程可以是立即的也可以是延迟的使用PVC 对象与 PV 对象完成绑定后Pod 就可以通过挂载 PVC 来访问持久化存储。Pod 的资源清单中会包含对 PVC 对象的引用Kubernetes 负责将与 PVC 对象绑定的 PV 对象挂载到 Pod 的容器中回收策略PV 支持三种回收策略Retain、Recycle、Delete。当 PVC 对象被销毁时Kubernetes 会根据 PV 的回收策略来处理 PV 对象 三、资源清单示例
1、使用本地存储
HostPath 方式
apiVersion: v1
kind: PersistentVolume
metadata:name: demo-pv
spec:capacity:storage: 1GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Recycle / Retain / Delete # PV 回收策略hostPath:path: /data/nfs
Local 方式
apiVersion: v1
kind: PersistentVolume
metadata:name: demo-pv
spec:capacity:storage: 1GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Recycle / Retain / Delete # PV 回收策略local:path: /data/nfsnodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: xxxxoperator: Invalues:- xxxx Local 方式必须要添加 nodeAffinity否则创建时会报错
spec.nodeAffinity: Required value: Local volume requires node affinity 2、使用 NFS 存储
apiVersion: v1
kind: PersistentVolume
metadata:name: demo-pv
spec:capacity:storage: 1GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Recycle / Retain / Delete # PV 回收策略nfs:server: xx.xx.xx.xx # 指定 NFS 服务器地址path: /data/nfs # 指定 NFS 服务器目录 3、使用 CSI 存储如阿里云 NAS
apiVersion: v1
kind: PersistentVolume
metadata:name: demo-pv
spec:capacity:storage: 1GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Recycle / Retain / Delete # PV 回收策略csi:driver: com.example.team/csi-drivervolumeHandle: existingVolumeName # 与PV 名称保持一致readOnly: falsevolumeAttributes:server: xxxxpath: /xxxxmountOptions:- nolock,tcp,noresvport- vers3 四、相关说明
1、状态类型Status
PV 对象创建后通常会存在以下几种状态
Available可用还未被 PVC 对象绑定Bound已绑定已经被 PVC 对象绑定Released已释放即 PVC 对象已被删除但 PV 资源未被集群重新声明与 Retain 回收方式相关Failed已失败即 PV 对象回收失败 2、访问模式AccessModes
在 PV 对象的资源清单中可以定义以下几种访问模式 ReadWriteOnce该模式为读写权限只能被单个 Node 节点挂载 ReadOnlyMany该模式为只读权限可以被多个 Node 节点挂载 ReadWriteMany该模式为读写权限可以被多个 Node 节点挂载 3、回收策略persistentVolumeReclaimPolicy
在 PV 对象的资源清单中可以定义以下几种回收策略
Recycle循环策略该策略允许保留 PV 对象并可以再次被新创建的 PVC 对象绑定Retain保留策略该策略允许保留 PV 对象但不可以再次被新创建的 PVC 对象绑定Delete删除策略默认该策略不保留 PV 对象