背景介绍

在Kubernetes中卷的作用在于提供给POD持久化存储,这些持久化存储可以挂载到POD中的容器上,进而给容器提供持久化存储。


从图中可以看到结构体PodSpec有个属性是Volumes,通过这个Volumes属性可以关联到结构体Volume和结构体VolumeSource,而且这个Volumes属性是一个数组类型,就是说POD可以关联到多个不同类型的卷上面。

结构体Container表示POD中的容器,这个结构体有一个属性VolumeMounts,通过这个属性让容器知道具体挂载的存储路径,这个VolumeMounts属性也是一个数组类型,就是说容器可以挂载多个存储路径。

支持新的卷插件

Kubernetes一共支持26种卷插件。在Kubernetes1.6中又增加了三种新的卷插件Projected、PortworxVolume和ScaleIO。


ScaleIO

ScaleIO是一家以色列的存储技术初创企业,其核心技术是虚拟SAN(存储区域网)技术。所谓虚拟SAN,是指利用软件将应用服务器的硬盘组织成的一个虚拟存储区域网络。ScaleIO的ECS(弹性融合存储)技术会在应用服务器端安装一个轻量的软件组件,利用与应用服务器相同的网络链路来与后端的管理程序沟通来管理这些存储块,也就是ScaleIO的ECS(即弹性融合存储)软件能够将一台服务器的直连存储(简称DAS)转化为共享式SAN(即存储区域网络)。这样的话就可以省去物理SAN的部署且具有很强的可伸缩性与弹性。ScaleIO声称自己的块存储技术可节省80-90%的成本。

ScaleIO这家公司在2013年被存储巨头EMC收购。EMC声称:“ScaleIO能够加速EMC的运营战略,从而为整套服务器与存储基础设施提供闪存方案。”为此,ScaleIO将被并入EMC闪存产品部门,而ECS软件则将被整合至XtremSW套件中、为服务器上安装的PCIe闪存卡(原名为VFCache)提供辅助。


 

Portworx

Portworx是一家美国存储初创公司,它研发了业界第一个容器定义存储系统Portworx。Portworx提供了全新的、统一的Scaleout存储栈,其核心架构是共享的、松耦合的、分布式、基于元数据的块存储层(卷、块设备、全局共享卷和文件访问等)。portworx本身作为容器服务的方式部署,在每个集群节点呈现为PX的容器。

Portworx架构和原理:

每个PX容器来识别服务器节点的硬件、检测磁盘类型、容量和整体服务能力和类型。系统根据每个节点的能力匹配业务对存储需求,进行调度和IO分发。

每个PX容器根据授权和集群ID发现其他节点。通过这种方式,每一个PX节点就可以感知整个存储系统的拓扑结构和参与集群的节点(支持数据中心内部和跨数据中心部署)。通过整体拓扑就可以感知整个集群的Region、机架部署情况,当然,也可以感知集群内不同节点的能力。


 

Projected卷插件

这其实并不是一个新的卷插件,只不过是一个映射作用的卷插件,把secret、configmap和downwardAPI这三个类型的卷插件都映射到同一个卷插件上面。


通过Projected可以映射secret、configmap和downwardAPI这三个类型的卷插件,在使用的时候更加灵活。

总结

Kubernetes1.6一共支持26种卷插件,从这些卷插件就可以看出Kubernetes社区参与厂家越来越多了,这26种卷插件可以覆盖GoogleCompute Engine公有云、Amazon WebService公有云、Microsoft Azure公有云、基于OpenStack的公有云、基于VMware vSphere的私有云,可以看出来,Kubernetes的影响力在扩大,将来一定会有更多厂商提供对Kubernetes的支持。

Logo

开源、云原生的融合云平台

更多推荐