一种可视化的kubernetes微服务编排的实现方法与流程

文档序号:15694653发布日期:2018-10-19 18:50阅读:1548来源:国知局

本发明涉及计算机软件应用开发技术领域,具体地说是一种可视化的kubernetes微服务编排的实现方法。



背景技术:

微服务是一种分布式架构设计理念,为了推动细粒度服务的使用,这些服务要能协同工作,每个服务都有自己的生命周期。一个微服务就是一个独立的实体,可以独立的部署在paas平台上,也可以作为一个独立的进程在主机中运行。服务之间通过api访问,修改一个服务不会影响其它服务。kubernetes是google开源的容器编排调度引擎,它提供一个规范,可以用来描述集群的架构,定义服务的最终状态,kubernetes可以将系统自动得达到和维持在这个状态。可见kubernetes的service天生就适合微服务。

kubernetes可以通过两种方式创建应用,一种是kubernetes用户可以通过编写一个yaml或者json格式的配置文件,另一种可以通过工具/代码生成或直接请求kubernetesapi创建,该配置文件中包含了用户想要应用程序保持的状态,不论整个kubernetes集群中的个别主机发生什么问题,都不会影响应用程序的状态。

kubernetes通过声明式配置,让开发人员能够理解应用的状态,并通过同一份配置可以立马启动一个一模一样的环境,大大提高了应用开发和部署的效率,其中kubernetes设计的多种资源类型可以帮助我们定义应用的运行状态,并使用资源配置来细粒度得明确限制应用的资源使用。但是kubernetes提供了多种资源对象,用户需要根据自己的需要来进行选择,并且资源对象的属性也比较多,自行编写配置文件容易造成混乱,或者因为不够熟悉而出现各种问题。

基于此,本发明通过提供一种可视化拖拽以及提供可拔插式的组件扩展机制旨在解决以上存在的问题。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种可视化的kubernetes微服务编排的实现方法。

一种可视化的kubernetes微服务编排的实现方法,其实现过程为:

一、首先创建并管理编排组件,首先设计可视化交互面板,通过拖拽方式创建一个编排组件图形,然后在内存中生成一个编排组件对象并以键值对的形式记录编排组件图形的信息,所述编排组件图形是指微服务编排流程图;

二、实现可扩展机制,通过修改或增加组件以及组件属性,构建不同微服务编排文件。

所述步骤一中创建编排组件图形的具体过程为:首先设计可视化交互面板,该可视化交互面板实现拖拽功能,这里的拖拽功能是指:在可视化交互面板中提供展示组件列表,且在展示组件列表中添加拖拽事件,然后通过拖拽列表中的组件到可视化交互面板中,绘制出一个对应的编排组件图形。

所述步骤一中内存中生成并记录编排组件图形信息的过程为:

在kubernetes中,从一个pod组件连线到一个service组件就形成一条流程迁移线,此时在内存中的编排组件对象中以键值对的形式记录迁移线的信息,所述pod是指一个或者多个容器构成的集合,一个pod代表着集群中运行的一个进程,pod组件内部可放置多个container组件,即容器组件;service组件是指逻辑相关的一组pod的抽象定义,是应用程序对外提供服务的入口;

当点击编排组件,触发组件展示参数信息交互的jsp页面时,组件的参数信息同样以键值对的形式记录到流程环节对象中,这里的流程是指组件连线到另一组件形成的流程迁移线。

所述步骤二中构建不同微服务编排文件是指通过可拔插式扩展的业务组件将编排环节解析成相应的微服务编排模型,进而构建微服务编排文件。

所述步骤二中构建微服务编排文件的具体过程为:通过kubernetes的规范,定义每种组件数据的生成规范,将内存中保存的组件信息,组装成json格式数据,然后转换成yaml格式并在可视化交互面板上展示出来。

本发明的一种可视化的kubernetes微服务编排的实现方法和现有技术相比,具有以下有益效果:

本发明的一种可视化的kubernetes微服务编排的实现方法,提供可视化面板通过组件拖拽进行服务编排,简化用户编写编排文件操作,降低对编排文件编写的难度,提供所见即所得的微服务编排流程,支持原生kubernetes的资源定义方式,降低配置文件编排难度,提高用户体验;本发明提供可扩展机制,可以方便的根据需求修改或增加组件以及组件属性,满足方便快捷的构建不同微服务编排的需求;实用性强,适用范围广泛,具有很好的推广应用价值。

具体实施方式

为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种可视化的kubernetes微服务编排的实现方法,可以创建并管理编排,支持原生kubernetes的资源定义方式,提供了友好的可视化拖拽交互面板,可视化微服务编排流程所见即所得;另一方面提供可扩展机制,可以方便的修改或增加组件以及组件属性,满足方便快捷的构建不同微服务编排的需求。

其实现过程为:

一、首先创建并管理编排组件,首先设计可视化交互面板,通过拖拽方式创建一个编排组件图形,然后在内存中生成一个编排组件对象并以键值对的形式记录编排组件图形的信息,所述编排组件图形是指微服务编排流程图;

二、实现可扩展机制,通过修改或增加组件以及组件属性,构建不同微服务编排文件。

所述步骤一中创建编排组件图形的具体过程为:首先设计可视化交互面板,该可视化交互面板实现拖拽功能,这里的拖拽功能是指:在可视化交互面板中提供展示组件列表,且在展示组件列表中添加拖拽事件,然后通过拖拽列表中的组件到可视化交互面板中,绘制出一个对应的编排组件图形。

所述步骤一中内存中生成并记录编排组件图形信息的过程为:

在kubernetes中,从一个pod组件连线到一个service组件就形成一条流程迁移线,此时在内存中的编排组件对象中以键值对的形式记录迁移线的信息,所述pod是指一个或者多个容器构成的集合,一个pod代表着集群中运行的一个进程,pod组件内部可放置多个container组件,即容器组件,pod组件及其内部的容器就可以看作是一个deployment对象;service组件是指逻辑相关的一组pod的抽象定义,是应用程序对外提供服务的入口;

当点击编排组件,通过组件实现的通用事件接口触发组件展示参数信息交互的jsp页面时,组件的参数信息同样以键值对的形式记录到流程环节对象中,这里的流程是指组件连线到另一组件形成的流程迁移线。

为便于理解,对上述部分名词进行简单地解释说明:

kubernetes:kubernetes是google基于borg开源的容器编排调度引擎,提供应用部署、维护、扩展机制等功能,能方便地管理跨机器运行容器化的应用。

pod:一个或者多个容器构成的集合,是kubernetes中可以创建和部署的最小也是最简单位。一个pod代表着集群中运行的一个进程。

service:逻辑相关的一组pod的抽象定义,是应用程序对外提供服务的入口。

deployment:将现在的集群状态在一个可控的速度下逐步更新成你所期望的集群状态。集成了上线部署、滚动升级、创建副本、暂停上线任务,恢复上线任务,回滚到以前某一版本(成功/稳定)的deployment等功能。

所述步骤二中构建不同微服务编排文件是指通过可拔插式扩展的业务组件将编排环节解析成相应的微服务编排模型,进而构建微服务编排文件。

所述步骤二中构建微服务编排文件的具体过程为:通过kubernetes的规范,定义每种组件数据的生成规范,将内存中保存的组件信息,组装成json格式数据,然后转换成yaml格式并在可视化交互面板上展示出来。

在本发明提供的方法中,支持原生kubernetes的资源定义方式,提供可视化面板通过组件拖拽进行服务编排,提供所见即所得的微服务编排流程。通过可拔插式扩展的编排组件将编排流程解析成相应的微服务编排模型。

提供可视化界面,通过组件拖拽方式编排微服务配置文件,简化用户编排配置文件操作,降低对编排文件编写的难度,提高用户体验。

提供一种拔插式的组件扩展机制,支持用户自定义组件,通过实现组件基类提供的接口,来满足不同kubernetes服务编排的需求。

以上对本发明所提供的一种可视化的kubernetes微服务编排的实现方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1