k8s 存储知识
2022-01-10 14:57:59 0 举报
AI智能生成
k8s pv pvc storageclass
作者其他创作
大纲/内容
k8s 存储访问模式
RWO
ReadWriteOnce可读科写,但支持被单个node挂载
ROX
ReadOnlyMany:可以以读的方式被多个node挂载
RWX
ReadWriteMany:可以以读写的方式被多个node挂载
分类
产品定义角度划分
本地存储(DAS)
DAS就是本地盘,直接插到服务器上
网络存储(NAS)
NAS是指提供NFS协议的NAS设备,通常采用磁盘阵列+协议网关的方式
存储局域网(SAN)
SAN跟NAS类似,提供SCSI/iSCSI协议,后端是磁盘阵列
软件定义存储(SDS)
SDS是一种泛指,包括分布式NAS(并行文件系统),ServerSAN等
应用场景角度
文件存储(Posix/MPI)
块存储(iSCSI/Qemu)
对象存储(S3/Swift)
存储制备器
emptyDir
hostPath
configMap
nfs
persistentVolumeClaim
glusterfs
cephfs
secret
k8s 存储三个概念
PV和PVC
两阶段
attache
虚拟机挂载远程磁盘
mount
将磁盘设备格式化并挂载到 Volume 宿主机目录的操作
原理
供应方式
静态
集群管理员创建了许多 PV。它们包含可供群集用户使用的实际存储的详细信息
动态
群集可能会尝试为 PVC 专门动态配置卷。此配置基于 StorageClasses,PVC 必须请求存储类,管理员必须创建并配置该类,以便进行动态配置
绑定
用户创建 pvc 并指定需要的资源和访问模式。在找到可用 pv 之前,pvc 会保持未绑定状态
使用
pvc 被创建之后,就可以当成存储卷来使用了,我们在定义 pod 时就可以使用这个 pvc 的存储卷
pvc 和 pv 它们是一一对应的关系,pv 如果被 pvc 绑定了,就不能被其他 pvc 使用了
创建 pvc 的时候,应该确保和底下的 pv 能绑定,如果没有合适的 pv,那么 pvc 就会处于 pending 状态
回收策略
Retain
当删除 pvc 的时候,pv 仍然存在,处于 released 状态,但是它不能被其他 pvc 绑定使用,里面的数据还是存在的,当下次再使用的时候,数据还是存在的,这个是默认的回收策略
Delete
删除 pvc 时即会从 Kubernetes 中移除 PV,也会从相关的外部设施中删除存储资产
Recycle(新版本废弃)
保留PV,但清空PV上的数据
storageclass
Kubernetes 提供一种自动创建 PV 的机制,创建 PV 的模板
包含字段
provisioner
提供者
parameters(见名知意)
Volume Type
Availability Zone
Encryption
KMS Key ID for Encryption
Volume Binding Mode
Allow Volume Expansion
reclaimPolicy
回收策略
Kubernetes 容器存储接口(CSI)
容器存储接口 (CSI) 为容器编排系统(如 Kubernetes)定义标准接口,以将任意存储系统暴露给它们的容器工作负载
0 条评论
下一页