容器中的存储卷管理

持久卷

容器化带来的问题有哪些?

容器中的文件在磁盘上是临时存放的,这给容器中运行的重要的应用程序带来的一些问题.

问题1: 当容器崩溃或重启的时候,kubelet会以干净的状态(镜像的状态)重启容器,容器内的历史数据会丢失.

问题2:当容器被删除时(k8s没有停止容器的概念,只有创建.删除),容器内的数据也会被一起清理.

问题3:多个容器中有共享文件或目录的需求.

卷:卷是一个抽象化的存储设备

为什么要使用卷?

卷可以解决容器崩溃或重启后历史数据丢失的问题.

卷可以解决容器或Pod被删除后数据持久保存的问题.

卷可以解决在多个容器内共享数据的问题.

Pod可以使用任意数目的卷.

k8s支持的卷类型

持久卷:持久卷是集群中的存储资源,就像他的名字一样,在里面存储的数据不会随着Pod的删除而丢失.

临时卷: 有些应用程序需要额外的存储,但不会关心数据在重启后是否仍然可以使用,卷会遵从Pod的生命周期,与Pod一起创建和删除.

投射卷: 它允许您将多个现有卷源映射到同一个目录.通过将这些不同类型的卷源组合成一个统一的卷,可以更方便地管理和使用这些资源.

如何使用卷

1,首先编写一个Pod的资源对象文件

2.在Pod.spec下添加volumes字段,配置外部存储为卷

3.在Pod.spec.containers[*] 中添加volumeMounts字段,声明卷在容器中挂载的位置

注意事项:卷不能挂载到其他卷之上,也不能与其他卷由硬链接;Pod配置中的每个容器必须独立指定各个卷的挂载位置.

hostPath持久卷

hostPath卷的本质是使用本地设备,例如磁盘,分区,目录,Socket,CharDevice和BlockDevice等等.hostPath卷的可用性取决于底层节点的可用性,如果节点变得不健康,那么hostPath卷也将不可被访问.

hostPath卷里面的数据不会随着Pod的结束而消失

注意事项: 配置相同的Pod,可能在不同的节点上表现不同,因为不同节点上映射的文件内容不同.

使用hostPath卷保存日志的资源对象文件格式如下:

spec:
  volumes:                                      #卷定义
  - name: logdata                               #卷名称
    hostPath:                                   #使用hostPath创建卷
      path: /var/weblog                         #在节点上存放的路径
      type: DirectoryorCreate                   #目录不存在就创建新的
  containers:
  - name: nginx
    image: myos:nginx
    columeMounts:                               #mount卷
    - name: logdata                             #卷的名字
      mountPath: /usr/local/nginx/logs          #容器内路径

type对应类型

type类型说明
DirectoryOrCreate卷映射对象是一个目录,如果不存在就创建它
Directory卷映射对象是一个目录,且必须存在
FileOrCreate卷映射对象是一个文件,如果不存在就创建它
File卷映射对象是一个文件,且必须存在
Socket卷映射对象是一个Socket套接字,且必须存在
CharDevice卷映射对象是一个字符设备,且必须存在
BlockDevice卷映射对象是一个块设备,且必须存在

NFS卷

NFS存储

k8s中允许将nfs存储以卷的方式挂载到你的Pod中

在删除Pod时,nfs存储卷会被卸载(umount),而不是被删除.nfs卷可以在不同节点的Pod之间共享数据.

NFS卷的用途

NFS最大的功能就是在不同节点的不同Pod中共享读写数据.本地NFS的客户端可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值