【华为云Stack】【大架光临】第12期:华为云Stack南向开放框架,帮助生态伙伴高效入云

大架光临 发表于 2022/07/13 19:57:58 2022/07/13
【摘要】 因为采购策略不同,业务诉求多样,政企客户常常会有软硬件分层的需求,因此南向开放能力十分重要。但南向设备的引入,会产生交叉组合、架构分层不清晰等一系列的问题。这就像把国外的电器带到国内使用一样,额定电压、插头等制式不同,很难直接使用。所以,就需要一系列的标准化框架来解决简化对接流程、降低对接成本,本文将对此做详细阐释。

作者:徐安 华为云Stack资深架构师

背景

从外部环境来看,政企客户存在软硬件分层的诉求;且南向开放能力也是竞争要求,促进市场生态的繁荣。

从自身来看,华为云Stack不依靠单一封闭来参与竞争,而是追求硬件设备的效率最大化。华为云Stack要定义云平台下硬件需满足的功能、性能以及接口规范,是为了形成一个南向规范。通过开源社区来定义南向规范,让硬件厂商都能参与进来,共同制定标准规范。

这个标准规范,包括各厂商实现的能力对接驱动,都是开源的、可以参考的。

南向规范的总体方案

为云Stack南向规范的总体要求是,建立一个华为云Stack南向开源社区,通过生态化运作,使华为云Stack和生态伙伴责权清晰,共同制定和建立南向开放标准,构筑全生态差异化竞争力。

生态伙伴来开发自己的驱动包、自检完成后,生成华为云Stack规范包;华为来进行安装部署、并测试通过,和华为云Stack产品一起,安装部署在客户处。也就是说,生态产品本身的部署扩容运维和管理员操作生态伙伴自己维护和操作的;华为负责部署华为云Stack系统生态伙伴对接同时,服务化的操作和运维入口在华为统一界面(注:当前为定向开源,面向部分合作伙伴)

南向规范的用户使用流程

    南向设备的引入会产生很多复杂的问题,比如引入了海光、飞腾、鲲鹏三种服务器,又引入华为分布式存储和第三方分布式存储两种存储设备,如果设备与业务逻辑不解耦,就需要3*2种交叉组合,导致协同效率低下,影响客户的使用体验。另外,业务逻辑和驱动逻辑解耦不够彻底、设备和系统之间的运维责任界面不清晰等一系列问题也会伴随产生。

为解决这些问题,CloudBonder生态社区通过一系列生态项目来简化对接流程、降低对接成本、缩短对接时间。主要由CloudBonder南向框架、Magpie验证认证体系、Silkworm部署对接模块、Woodpecker监控运维四个子项目组成。

1)CloudBonder

CloudBonder的是业务对接的框架,包括API和设备模型抽象,可支持存储、网络、计算数据面等方式的对接。可以对接很多种硬件设备,各厂商只要按照我们的模型和接口,实现自己设备的能力就好。

主要模块有WSGI API框架、统一的API框架、Manager层和Driver层。

WSGI API框架:提供一个标准的API框架模型,让生态伙伴更多的关注自身的业务逻辑,而不是公共框架模型

统一的API框架主要负责参数检查等动作,封装API的返回值

Manager可加载驱动支持CloudBonder的一些公共逻辑

Driver实现对接设备的逻辑实现API定义的能力;不同厂商实现不同的Driver接口和返回值在API中有规范的定义,实现的能力是可选和扩充的

2Magpie

Magpie是厂商兼容性认证系统,可以规范和验收CloudBonder的能力,主要支持厂商的兼容性认证,其功能包括:

功能和性能的本地测试验证MagpieDriver测试不需要华为云Stack环境,减少自身设备环境下的成本。另外设备测试验证控制,都有对应的定义

环境模拟支持特定的环境模拟,比如DPU和裸机环境的模拟

FakeDriver定义了一些FakeDriver,主要是测试Magpie框架本身

本地测试验证通过后,可以生成验证结果的报告,直接对比结果来调整。所有测试通过后,还会生成离线和在线的测试报告,证明对接过华为云Stack。

3Silkworm架构与技术

生态软件产品(包括驱动)以VM隔离方式部署在华为云Stack上;提供软件包的制作、OS部署升级和补丁推送,运维系统对接,监控告警日志诊断,依赖拓扑关系生成,服务控制启停等能力。

生态伙伴的软件部署在华为云Stack的系统中,目前有三个原则需要遵守:

一是:生态伙伴提供CloudBonder发行件采用VM部署。

如果部署在HostOS上,HostOS的升级会导致“非必要”的生态伙伴配套,影响现网局点和新部署局点。而HostOS的升级是由华为云Stack的业务规划的,相互之间最好不要影响。

二是:为考虑OS的维护能力,GuestOS采用商用OS,另外至少支持一款非涉A OS

GuestOS目前由生态伙伴来提供必须在华为的兼容性范围内;同时要满足用户的安全要求由于安全或者其他问题,给用户带来损失,由生态伙伴负责赔付建议提供商用OS而不是生态伙伴自己维护的OS

三是:安装包的规范,按照DMK的要求来。

DMK是华为云Stack安装部署规范,是华为云Stack IaaS层提供的自动化部署工具,基于Ansible开发,部署脚本由接入方提供,同时需要按照DMK约束提供合zip包。DMK包支持安装,部署,升级,并支持界面化操作。

4Woodpecker架构和技术

Woodpecker是一套工具链,包含合作厂商运维数据接入ManageOne OC的开发框架和调测工具,目前支持的开发语言为Java。支持接入的数据范围包括:资源、监控(性能)、告警;合作厂商通过基于Woodpecker开发驱动,完成数据接入ManageOne OC侧。

操作类型

功能点

说明

注册类型


驱动注册

通过REST接口调用,只执行一次。注册的信息中包括了驱动的名称、URL前缀、驱动能够提供的接口以及SNMP协议包括的认证信息(告警通过SNMP上报)

连通性检测

ManageOne定时调用此接口检测驱动状态(REST接口)

资源采集



注册资源模型

ManageOne本身已经包括许多资源模型,如果需要新增数据模型,可调用REST接口注册

采集任务

驱动提供接口给ManageOne调用,ManageOne下发资源采集任务,参数中包括任务ID

按任务上报资源

驱动按照任务ID主动调用ManageOne的资源上报接口上报数据

性能采集



注册性能模型

驱动按照规范注册需要上报的性能模型、指标组和具体的指标

定时上报性能

性能模型注册成功后,ManageOne会定时进行性能采集任务调度,大约30min执行一次,新注册的性能采集任务被成功调度后,驱动上报的性能数据才会被ManageOne处理入库

告警采集




心跳检测

ManageOne定时调用此接口检测驱动状态(SNMP接口)

告警操作

接收ManageOne对告警的操作,如告警同步、告警确认、告警清除等,可再调用底层第三方系统做对应的告警操作

告警静态上报

上报告警静态信息给ManageOne,即告警字典,后续上报的告警只需要包括告警ID即可

告警数据上报

1、接收到告警同步任务后,根据任务的条件上报告警;2、底层第三方系统有新的告警时主动实时上报

写在最后

可以看到,CloudBonder的生态社区通过一系列生态项目,解决提交叉组合、架构分层不清晰、运维界面不清晰等问题,简化对接流程,降低生态伙伴对接成本,缩短对接时间。

从而让华为云Stack实现云平台南向设备框架设计分层解耦,生态伙伴设备模型标准化对接。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。