成都科汇科技有限公司
Kehui Technology Co., Ltd.



Kubernetes is eating the world,企业在升级转型过程中,已经越来越多的选用Kubernetes平台作为IaaS 、PaaS 新基础设施建设的中心。
使用XSKY SDS承接Kubernetes存储需求已经成为广泛容器平台云的常见选择,但是真正发挥出软件定义存储中的“定义”二字,并不局限于存储本身,包括了大规模SDS集群的部署。让整个SDS集群部署和利用可定义,使得平台管理员可以统一管理计算和存储资源编排,统一运维投入,这些也都是SDS架构的一部分天生优势。
我们在某涉密机构实际落地项目中,客户选用了Kubernetes作为计算平台,同时选用了XSKY SDS作为容器存储,提供块、文件、对象多种协议接口,承载数百种上层业务应用。存储集群的部署规模为50个节点,1100个osd,4个pool,后续有5倍以上的扩容预期。对象业务还要求按照各自的生命周期进行对象桶的创建与管理。
如果由实施人员全程手动部署并负责过程监督,这将是一次巨大的人力资源投入,而且后续的日常管理运维也很复杂,需要平台管理员同时熟悉Kubernetes管理和存储管理。
针对上述需求,XSKY基于Kubernetes开发了Formation Service,它面向Kubernetes平台并利用Kubernetes能力实现一键部署存储集群,管理运维各类存储资源。
前述客户项目使用Formation Service后,仅需提前定义好预期环境拓扑模板,再执行一条kubectl 命令就实现了整个存储集群的搭建,包含cluster、osd、pool、访问接口等存储资源,使整个部署时间降低了90%;
同时部署过程中,不论出现网络、硬盘等硬件异常,或是时间服务器不同步、内存不足等软件异常,都不影响已有的部署过程;Formation Service会在故障排除后自动重试执行剩余存储资源的构建;
该项目在后续的节点扩容、小文件数量SKU扩容中,也只需修改模板,并用容器平台管理员*熟悉的单条kubectl命令即可完成,大大降低了管理运维成本。
项目完成后,客户也可以利用容器动态使用对象存储,容器存储的容灾功能如复制、备份和数据迁移等功能。
我们来详细说明下如何利用Kubernetes来定义XSKY SDS集群,让部署对接变得更简单。
我们可以在Kubernetes平台将XSKY存储集群中不同的资源被拆分成不同的用户自定义资源,即CRD(Custom Resouce Definition);CRD功能在Kubernetes 1.7版本被引入,用户可以根据自己的需求添加自定义的Kubernetes对象资源。
同时,自定义资源和原生内置的资源一样,都可以用kubectl来去创建、查看,也享有 RBAC、安全功能。用户可以开发自定义控制器来感知或者操作自定义资源的变化。
XSKY存储集群中的资源被拆分成各种不同的自定义资源,不同的资源有相应的模板文件去定义,XSKY存储集群的资源拆分大致如下所示:

存储节点、硬盘(osd)、存储资源池(pool)、访问路径(accesspath)、VIP等,存储集群中的各种资源在Kubernetes平台中被作为一种用户自定义资源在使用;
1、资源定义模板化
XSKY存储资源被拆分成Kubernetes平台上的不同的用户自定义资源后,XSKY提供了统一的、标准的模本文件去定义不同的资源信息。
实施工程师只需要根据客户的实际需求,对模板文件按照实际场景修改,就能定制出客户实际所需的存储集群。比如,集群规模、网络规划、管理员用户设置、硬盘数量和存储资源池的配置等。
2、部署自动化
XSKY SDS formation工具,支持一键式部署存储节点,定义所需的配置文件,可以完成存储集群的部署,包括:网络配置,管理员用户名和密码配置,存储节点角色设置,硬盘管理和创建存储池等;
3、统一配置管理
通过容器平台UI和CLI可以实现存储集群的部署、更新、销毁等;

其他组件解释请参考《深入了解Kubernetes中的XSKY存储》;
4、XSKY Resource Controller
作为一键式部署SDS集群的大脑,用于监听XSKY存储集群创建、更新、删除(销毁)等事件,并把消息事件处理后,实现XSKY存储集群的部署、更新和销毁动作;
XSKY SDS在Kubernetes容器平台被作为一种用户自定义资源在使用,Kubernetes是如何统一配置管理XSKY SDS,下图做了详细介绍:

1、模板修改
根据XSKY提供的资源定义模板以及真实的场景,修改模本文件,主要包括:集群规模,网络资源,存储资源,用户资源等信息;
2、下发请求
根据修改的模板,使用UI或CLI下发请求到Kubernetes节点的Master节点的API Server;
3、XSKY Reource controller处理请求
XSKY资源控制器,监听API Server上XSKY SDS这种自定义资源的变化,根据实际的请求做对应处理,包括:部署,更新,销毁;XSKY资源控制器会解析,模板文件的信息,生成部署XSKY SDS存储所需要的脚本文件,配置文件,以及formation所需要的json文件;
XSKY资源控制器会将存储安装包拷贝到模本文件中指定的Master节点,并在管理节点上解析安装包,替换默认的配置文件,执行部署脚本,完成存储集群的部署。
XSKY Resource Controller包含不同的资源控制器,比如,节点控制器、硬盘控制器、存储资源池控制器、访问路径控制器、VIP控制器等,每种控制器管理不同的资源的创建和销毁。
1、节点控制器(node controller)
负责部署节点和移除节点,node controller解析定义好的模板文件,根据模板文件中定义好的角色,以及节点数,选择出管理节点,将存储安装包上传到管理节点,并根据模板文件,生成部署节点所需要的json文件,优先部署管理节点,然后部署其他节点;也可以根据部署的节点实例,去移除对应的节点;
2、硬盘控制器(osd controller)
负责创建osd和删除osd,osd controller解析定义好的模板文件,生成创建osd所需要的json文件,xsky formation工具根据json文件创建osd;
资源池控制器(pool controller):负责存储池的创建和参数;
3、访问路径控制器(access path controller)
负责访问路径的创建和删除,挂载网关服务器和移除网关服务器;
4、vip控制器(vip controller)
负责给创建的访问路径设置vip。
目前,XSKY Resource Controller已经做到了让XSKY SDS集群在Kubernetes容器平台上的部署和运维变的更简单。
软件定义存储本身不仅仅代表着分布式存储的架构,存储能力的软件化以及可定制化,同时也代表了部署、运维、管理的可定义,按照用户自己的需要进行架构整合,实现统一调度。
IT 解决方案:
XSKY服务器虚拟化解决方案
XSKY私有云解决方案
XSKY容器解决方案
XSKY企业级应用解决方案
XSKY桌面虚拟化(VDI)解决方案
XSKY容灾解决方案
XSKY开发测试平台解决方案
XSKY分支机构解决方案
XSKY新建数据中心解决方案
应用场景:
双活
容器
大数据
云平台
云桌面
产品规格:
SDS 软件
XCBS 云后端存储
XEBS 块存储
XEUS 统一存储
XEOS 对象存储
XEDP 统一数据平台
SDS 一体化产品
XSCALER EXPRESS 2000:XE2020、XE2030、XE2050
XSCALER 3000
服务区域:
成都 xsky、绵阳 xsky、自贡 xsky、攀枝花 xsky、泸州 xsky、
德阳 xsky、广元 xsky、遂宁 xsky、内江 xsky、乐山 xsky、
资阳 xsky、宜宾 xsky、南充 xsky、达州 xsky、雅安 xsky、
阿坝藏族羌族自治州 xsky、凉山彝族自治州 xsky、广安 xsky、巴中 xsky、眉山 xsky
服务内容:
软件安装部署服务
业务对接服务
故障处理与生产变更服务
SDS 架构咨询服务
数据迁移服务
现场保障服务
集群环境变更服务
健康巡检服务
集群环境优化服务
集群升级服务
接口开发服务
集群**实施服务
文档开发服务
开源 SDS 升级服务
技术服务经理(TAM)
生产级分布式块存储,分布式存储 SDS 横向扩展存储,软件定义块存储系统
XSKY :SDS,软件定义存储,分步式存储,分布式软件定义存储
成都科汇科技有限公司( SDS 解决方案专家)
地址:成都市人民南路四段1号时代数码大厦18F
电话:400-028-1235
QQ: 1325383361
手机:180 8195 0517(微信同号)