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

常用的数据卷类型

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 -> volume -> volumeMount
    • 麻烦,测试用
  3. 方法三:ceph -> sc -> pvc (动态生成 pv)-> volume -> volumeMount
    • 最常用,主流用法

Kubernetes 学习笔记(五):数据卷的更多相关文章

  1. Docker学习笔记 - Docker数据卷的备份和还原

    学习目标: 备份数据卷 还原数据卷 # 通过容器备份数据卷容器中的数据卷 docker run --volumes-from dvt5 -v ~/backup:/backup --name dvt10 ...

  2. ThinkPHP 学习笔记 ( 五 ) 数据验证

    根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制 ...

  3. Kubernetes 学习笔记(一):基础概念

    个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提 ...

  4. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  5. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  6. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor

    目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...

  7. 【opencv学习笔记五】一个简单程序:图像读取与显示

    今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...

  8. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  9. go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])

    目录 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时]) 静态配置 flag注入 在线热加载配置 远程配置中心 go微 ...

  10. Java IO学习笔记五:BIO到NIO

    作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...

随机推荐

  1. Qt之模型/视图(实时更新数据)

    上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变的,那么如何实时更新成了一个很重要的问题!功能:(1)添加委托 ...

  2. android: Canvas的drawArc()方法的几个误区

    绘制圆环很多时候会用到Canvas的drawArc方法, drawArc()方法的说明很简单: public void drawArc (RectF oval, float startAngle, f ...

  3. angular组件数据和事件

    <h1>引入图片</h1> <img src="assets/images/02.png" alt="收藏" /> < ...

  4. sppNet论文学习

    Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 深度神经网络中用于视觉识别的空间金字塔池化 ...

  5. com.alibaba.fastjson.JSONObject;的使用

    转: com.alibaba.fastjson.JSONObject;的使用 2018-11-04 23:51:23 mameng1998 阅读数 6404更多 分类专栏: java   1  POM ...

  6. mysql插入数据时 insert IGNORE、ON DUPLICATE KEY UPDATE、replace into

    转: mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 博客分类: mysql基础应用   mysql insert时几个操作DE ...

  7. linux简单命令2---文件搜索命令

    1:文件搜索命令:locate 文件名搜索速度快,缺点不能复杂的搜索.在数据库(/var/lib/mlocate)查找.它是一天一更新.可以强制更新数据库:updatedb 2:搜索命令的命令:whe ...

  8. Linux (Ubuntu)提示ifconfig:找不到命令

    使用命令: sudo apt install net-tools 安装一下net-tools

  9. (一)java面试易忘题目精选(1)

    1. int和Integer有什么区别? 答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类 ...

  10. Spring的AOP原理

    转自 https://www.tianmaying.com/tutorial/spring-aop AOP是什么? 软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通 ...