Kubernetes 学习笔记(五):数据卷

“数据卷”通常和“有状态”这个词同时出现,卷用于给有状态应用保存/共享状态。

常用的数据卷类型

1. emptyDir: 用于存储临时数据的空目录

emptyDir 是一个初始状态为空目录的数据卷,pod 内的 app 可以把它当成一个普通的文件夹使用。它的常见用途有:

  1. 使用内存盘提升缓存的 io 效率,emptyDir 可以指定为 memory 类型,提供高速读写空间。
  2. 为耗时长的任务提供检查点,以便任务能方便地从容器崩溃前的状态继续执行。
  3. 暂存区,比如用户上传的临时文件。

2. hostPath: 挂载主机路径

hostPath 将节点的一个路径挂载到容器内。这通常被 daemonSet 类型的 Pod 使用,用于访问主机上的某些资源,比如 fluentd 就需要抓取每个节点上的容器日志。

3. StorageClass、PersistenceVolumeClaim、PersistemceVolume

上述的两种数据卷,emptyDir 只是一个临时的存储空间,而 hostPath 呢是和节点绑定的,不能跨节点共享数据。

为了跨节点共享数据,实现数据与节点的解耦,我们就需要使用持久化存储卷(PersistemceVolume)。

PV 有三种使用方式:

  1. 方法一:ceph -> volume -> volumeMount
    • 临时测试用
  2. 方法二:ceph -> pv ->(解耦) pvc -> pod(volume -> volumeMount)
    • 麻烦,测试用
  3. 方法三:ceph -> sc -> pvc (动态生成 pv)-> pod(volume -> volumeMount)
    • 最常用,主流用法

ceph 的部署——rook

参见个人笔记 使用 rook 在 kubernetes 集群中部署 ceph

posted @ 2019-11-17 19:07  於清樂  阅读(408)  评论(0编辑  收藏  举报