​Kubernetes CSI Snapshot(下篇)

目标目前在Kuberentes中,卷插件仅支持配置空的存储卷。随着新的存储功能(包括卷快照和卷克隆)的提出,因此需要支持配置卷时数据填充以。例如,可以从快照源创建卷,也可以从其他卷源克隆卷。根据创建卷的来源,有两种情况:

1、卷配置程序可以识别数据源并能够直接从数据源创建卷(例如,将快照还原到卷或克隆卷)。

2、卷配置程序无法识别数据源,并创建空存储卷。另一个外部组件(数据填充程序)可以监视卷创建并可以将数据填充/导入到已配置的卷。只有在将数据填充到卷后,PVC才可以被使用。

考虑到可以有许多不同类型的数据源用于将数据填充到卷中,因此我们建议在PersistentVolumeClaimSpec中添加一个通用的“DataSource”字段来表示不同类型的数据源。

PVC API 变化我们将在PVC中添加DataSource字段,以表示预先填充到预配置卷的数据源。对于DataSource字段,我们定义一个新类型“TypedLocalObjectReference”。它类似于具有附加Kind字段的“LocalObjectReference”类型,以便支持多种数据源类型。在alpha版本中,此数据源应和PVC位于同一命名空间。此数据源受限于PVC的同一名称空间。

设计细节在第一个alpha版本中,我们仅支持来自Snapshot的数据源。因此,DataSource中的Kind必须是“VolumeSnapshot”。在这种情况下,provisioner 应该在一个步骤中完成配置卷并填充数据。目前我们还不需要外部数据填充程序。

对于需要外部数据填充程序的其他类型的数据源,卷创建和数据填充是两个单独的步骤。 只有在数据准备就绪时,才能将PVC / PV标记为就绪(绑定),用户可以开始使用它们。我们正在制定一个单独的提案,使用“Pod Ready ++”(https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md)中的类似想法来解决这个问题。

注意:为了使用此数据源功能,用户/管理员需要更新到可以识别快照数据源的新external provisioner。否则,将忽略数据源并创建空存储卷。

示例本示例基于kubernetes 1.12版本启动的local-up环境,使用csi-hostpath作为测试插件,来演示snapshot的创建以及从snapshot还原数据卷。示例所使用的yaml可在https://github.com/wackxu/csi-snapshot-test找到。

步骤一:下载kubernetes 1.12版本,修改hack/local-up-cluster.sh脚本,如下:

第26行修改如下,允许以特权形式启动container。

第131行添加下列,开启VolumeSnapshotDataSource特性开关。

然后我们就可以启动local-up集群。

步骤二:部署external-provisioner、external-snapshotter、external-attacher、driver-registrar、hostpathplugin等sidecar容器。部署脚本包含serviceaccount、clusterrole等所需要的全部资源。

查看csi-pod,容器全部处于运行状态。

步骤三:创建storageClass,以及pvc,查看pvc以及创建的pv状态,均已处于bound状态。

步骤四:创建pod,使用pv,同时往pv中写入数据。

步骤五:创建volumeSnapshotClass,然后对csi-pvc创建snapshot

查看创建的volumeSnapshotContent具体信息。

验证snapshot是否创建成功。

步骤六:创建csi-restore-pvc,添加我们此前创建的snapshot为数据源。

查看pvc,pv状态

查看pv详细信息,volumeHandle为93119a08-b754-11e8-97ca-0242ac110003,

验证pv数据是否预填充,我们可以看到创建出来的pv,已有数据填充。

相关服务请访问:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019

K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(下)的更多相关文章

  1. K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(上)

    ​ 背景 许多存储系统提供了创建存储卷“快照”(snapshot)的能力,以防止数据丢失.快照可以替代传统的备份系统来备份和还原主要数据和关键数据.快照能够快速备份数据(例如,创建GCE PD快照仅需 ...

  2. HTML5在移动端开发的12大特性

    1.离线缓存为HTML5开发移动应用提供了基础 HTML5 Web Storage API可以看做是加强版的cookie,不受数据大小限制,有更好的弹性以及架构,可以将数据写入到本机的ROM中,还可以 ...

  3. 有了这 4 大特性,CDN 好用到飞起

    随着 CDN 市场的快速发展和网络新技术的不断涌现,目前的 CDN 已不仅仅是当初简单的内容分发,同时也是新特性研发.新技术推广及实践的平台.这些新技术.新特性,或者能够保障 CDN 安全性,或是提升 ...

  4. 前端开发者不得不知的es6十大特性(转)

    转载自AlloyTeam:http://www.alloyteam.com/2016/03/es6-front-end-developers-will-have-to-know-the-top-ten ...

  5. 不得不知的ES6十大特性

    ES6(ECMAScript2015)的出现,无疑给前端开发人员带来了新的惊喜,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率. 本文主要针对ES6做一个简要介绍. 主 ...

  6. jdk8十大特性并代码demo(转)

    一.十大特性 1.Lambda表达式 2.Stream函数式操作流元素集合 3.接口新增:默认方法与静态方法 4.方法引用,与Lambda表达式联合使用 5.引入重复注解 6.类型注解 7.最新的Da ...

  7. ES6十大特性

    本文主要针对ES6做一个简要介绍. 主要译自:  http://webapplog.com/ES6/comment-page-1/.也许你还不知道ES6是什么, 实际上, 它是一种新的javascri ...

  8. AngularJS-chapter1-2-四大特性

    4大特性 MVC MVC实例  数据模型,控制器,视图 HelloAngular_MVC.html 图中的 ng-controller="HelloAngular"  定义了Hel ...

  9. UFT\QTP 12 新特性

    UFT\QTP 12 新特性 http://blog.csdn.net/testing_is_believing/article/details/22310297

随机推荐

  1. Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类

    Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类 转载至:https://blog.csdn.net/fishinhouse/article/details ...

  2. 云开发 :云原生(Cloud Native)

    云开发 :云原生(Cloud Native) 云原生 所谓云原生,它不是一个产品,而是一套技术体系和一套方法论,用于构建和运行充分利用云计算模型优势的应用.云计算将提供无限制的按需计算能力和根据使用情 ...

  3. requests-html调用浏览器内核界面化源码改动

    在实例化HTMLSession时传入参数:headless=False即可在r.html.render()时显示界面化的浏览器

  4. 探索typescript的必经之路-----接口(interface)

    TypeScript定义接口 熟悉编程语言的同学都知道,接口(interface)的重要性不言而喻. 很多内容都会运用到接口.typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包 ...

  5. Java注解-元数据、注解分类、内置注解和自定义注解|乐字节

    大家好,我是乐字节的小乐,上次说过了Java多态的6大特性|乐字节,接下来我们来看看Java编程里的注解. Java注解有以下几个知识点: 元数据 注解的分类 内置注解 自定义注解 注解处理器 Ser ...

  6. gcc 不同版本的安装

      系统环境centos 6.5 使用root用户进行安装,此方法会将gcc安装至/usr/bin目录下 curl -Lks http://www.hop5.in/yum/el6/hop5.repo ...

  7. Java后台面试之java基础

    经典类概念性问题 1.java支持的数据类型有哪些?什么是自动拆装箱? 12.Java有哪些特性,举个多态的例子. 14.请列举你所知道的Object类的方法. 15.重载和重写的区别?相同参数不同返 ...

  8. [转帖]重估BAT与华为的云上野心

    重估BAT与华为的云上野心 https://www.leiphone.com/news/201910/Z5aLhckqUjCNJ49o.html 本文作者:王刚 2019-10-11 16:19 导语 ...

  9. [转帖]两种以太网 RDMA 协议: iWARP 和 RoCE

    两种以太网 RDMA 协议: iWARP 和 RoCE https://weibo.com/p/1001603936363903889917?mod=zwenzhang 写的挺好的呢. 本文是讲演 H ...

  10. 【自学系列一】HTML5大前端学习路线+视频教程(完整版)

    今年,本公司全新发布了囊括Java.HTML5前端.大数据.Python爬虫.全链UI设计.软件测试.Unity 3D.Go语言等多个技术方向的全套视频. 面对这么多的知识点,有的盆友就麻爪了…… 我 ...