存储卷:容器内的目录和宿主机的目录进行挂载。

容器在系统上的生命周期是短暂的,delete。k8s用控制创建的pod,delete相当于重启。容器的状态也会恢复到初始状态。

一旦恢复到初始状态,所有的后天编辑的文件都会消失。

容器和节点之间创建一个可以持久化保存容器内文件的存储卷,即使热熔器被销毁,删除,重启,节点上的存储的数据依然可以继续使用。可以继续讲容器内目录和宿主机挂载,保存的数据继续使用。

1,mptyDir

容器内部共享存储卷,k8s系统中,是一个pod当中的多个容器共享一个存储卷目录。

emptyDir:卷可以是pod当中容器在这个存储卷上读取和写入。

emptyDir:是不能挂载到节点的,随着pod的生命周期结束emptyDir也会结束,数据也不会保留。

  emptyDir:共享数据会丢失。

 快速创建一个yaml文件

容器内共享。

进入容器

只能在容器内部共享。Inmp

2,hostPath:将容器内的挂载点,和节点上的目录进行挂载,hostPath也可以实现数据的持久,node节点被销毁,那么数据也会丢失。

查看不同容器的日志

3,NFS共享存储:所有的pod内的目录和节点上的NFS共享目录形成数据,所有的数据文件都保存在共享目录当中。集中方便管理

也可以用主机名

Server可以是共享节点的ip地址,也可以是主机名,主机名要做映射。

Master  node节点都要做映射

这两一样的意思删除。

PVC和PV

PV:全称Persistent Volume 持久化存储卷,描述和定义一个存储卷,PV是由运维人员来定。

PVC:Persistent Volume Claim 持久化存储的请求。PVC实际上是用来描述或者声明我希望使用什么样的PV来进行存储。

PV和PVC是一一对应的关系(描述,存储(大小))

PVC----PV-----NFS

PV和PVC都是虚拟化的概念,是k8s的抽象的虚拟的存储资源。

PVC和PV之间静态请求,一但成百个PVC怎么办,所有动态PVC

PV实集群当中的存储资源,PVC请求存储资源,也是对存储资源的一个检索(检索索引),选择一个最合适的PV来存储资源。

PV和PVC之间是有生命周期管理:

  1. Provisioning(配置)----PVC请求request----检索(找一个合适的PV)-----PV和PVC(binding绑定)----使用----pod被删除------PV的releasing(释放)----recyling(回收)

配置:静态,动态

绑定:就是把PV分配给PVC

使用:就是pod通过PVC使用存储资源

释放:pod解除和volume的关系,删除PVC

回收:保留PV,让下一个PVC使用。

PV的状态:

Available:可用,而且没有被任何PVC绑定。

Bound:绑定,PV已经绑定了PVC,即绑定即使用。

Released:释放,PVC已经被删除了,但是pv的存储资源还没有被集群回收。

Failed:表示PV资源回收失败,而且PV为不可用状态。

支持的读写方式:

ReadWriteOnce  RWO,配置文件里是全称,存储PV可读可写,但是只能被单个pod挂载。

ReadOnlyMany  ROM,存储的PV可以以只读的方式被多个pod挂载

ReadWriteMany  RWX,存储可以支持读写的方式被多个pod共享。

NFS:可以支持三种读写和挂载方式。

ISCSI:不支持ReadWriteMany

查看当前设备

Iscsiadm查看服务器是否有iscsi设备

-m session 指定操作的会话模块,管理iscsi的会话

-P 3 :显示显示详细信息的级别。级别就是3显示详细信息。

hostPath:只支持ReadWriteOnce方式。

集群回收PV资源的方式:

  1. Retain保留,pod和挂载点的数据不会被删除
  2. Recycle回收,PV上的数据被删除,挂载点的数据也被删除
  3. Delete淡出,解绑时,自动删除PV上的数据(本地硬盘不能使用,AWS,EBS,GCE支持动态卷的可以使用,PV不再可用(云平台自己处理))

当pod运行之后,通过PVC请求到了PV,除非pod被销毁,否则无法删除PVC

开始创建PV

k8s当中存储卷的模式:

emptyDir;容器内存储卷。随着pod被销毁,也会被销毁数据不保存。

hostPath:节点目录的存储卷,可以实现持久化存储,数据在每个节点上都有,不方便集中管理。

NFS:共享目录存储卷,可以实现持久化,数据集中在 一个目录,方便管理。

PV和PVC

PVC请求---PV的存储资源---硬盘空间(NFS)

NFS支持PVC的所有挂载方式和读写模式。

hostPath仅支持ReadWriteOnce 的的方式

PVC是以上检索的方式找到匹配的PV资源

检索挂载方式和读写模式

检索PV能提供的存储资源的大小

谁合适选谁

保留:默认可以不写

回收:自动回收,节点上的数据会被删除

删除:PV会变成failed模式,不可用,数据也会被删除。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐