掌桥专利:专业的专利平台
掌桥专利
首页

跨虚拟机和Kubernetes集群的应用部署方法

文献发布时间:2023-06-19 09:24:30


跨虚拟机和Kubernetes集群的应用部署方法

技术领域

本申请涉及计算机技术领域,特别涉及一种跨虚拟机和Kubernetes集群的应用部署方法、装置、设备及可读存储介质。

背景技术

云原生技术的兴起是这几年软件行业最新的变化之一,而容器是云原生技术的关键技术,也是近两年IT行业最为热门的话题,它常常被放在虚拟机技术的对立面,甚至还出现Docker将替代虚拟机的说法,但就目前的发展来看,容器以及Docker并没有替代虚拟机,而是十分和谐的与之共存,两者各自具有不同的特性和相应适合的应用场景。

在容器与虚拟机并存的场景下,如何同时管理虚拟机和容器成为亟待本领域技术人员解决的问题。

发明内容

本申请的目的是提供一种跨虚拟机和Kubernetes集群的应用部署方法、装置、设备及可读存储介质,用以解决目前无法在同一平台同时管理虚拟机和容器的问题。其具体方案如下:

第一方面,本申请提供了一种跨虚拟机和Kubernetes集群的应用部署方法,应用于云平台,包括:

根据虚拟机IP地址,将相应的虚拟机设置为在Kubernetes集群中与pod相平行的自定义资源;

接收应用发布请求,在所述应用发布请求中的部署环境参数为虚拟机时,将当前应用部署至Kubernetes集群的目标虚拟机;

为所述当前应用配置负载均衡策略,以实现应用部署。

优选的,在所述将当前应用部署至Kubernetes集群的目标虚拟机之后,还包括:

为所述目标虚拟机上的当前应用设置应用标签。

优选的,还包括:

在所述应用发布请求中的部署环境参数为虚拟机和pod时,将当前应用分别部署至Kubernetes集群的目标虚拟机和目标pod;

为所述目标虚拟机上的当前应用和所述目标pod上的当前应用设置相同的应用标签。

优选的,在所述为所述当前应用配置负载均衡策略,以实现应用部署之后,还包括:

根据应用访问请求,确定待访问应用,读取所述待访问应用的负载均衡策略;

根据所述待访问应用的负载均衡策略以及所述待访问应用的应用标签,将所述应用访问请求转发至目标虚拟机或目标pod,以实现应用访问。

优选的,所述读取所述待访问应用的负载均衡策略,包括:

通过反向代理技术,读取所述待访问应用的负载均衡策略。

优选的,在所述为所述当前应用配置负载均衡策略,以实现应用部署之后,还包括:

根据应用更新请求,对所述目标虚拟机上的当前应用和所述目标pod上的当前应用进行版本更新。

第二方面,本申请提供了一种跨虚拟机和Kubernetes集群的应用部署装置,应用于云平台,包括:

资源定义模块:用于根据虚拟机IP地址,将相应的虚拟机设置为在Kubernetes集群中与pod相平行的自定义资源;

部署模块:用于接收应用发布请求,在所述应用发布请求中的部署环境参数为虚拟机时,将当前应用部署至Kubernetes集群的目标虚拟机;

负载均衡配置模块:用于为所述当前应用配置负载均衡策略,以实现应用部署。

优选的,还包括:

标签设置模块:用于为所述目标虚拟机上的当前应用设置应用标签。

第三方面,本申请提供了一种跨虚拟机和Kubernetes集群的应用部署设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上所述的跨虚拟机和Kubernetes集群的应用部署方法。

第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的跨虚拟机和Kubernetes集群的应用部署方法。

本申请所提供的一种跨虚拟机和Kubernetes集群的应用部署方法,应用于云平台,包括:根据虚拟机IP地址,将相应的虚拟机设置为在Kubernetes集群中与pod相平行的自定义资源;接收应用发布请求,在应用发布请求中的部署环境参数为虚拟机时,将当前应用部署至Kubernetes集群的目标虚拟机;为当前应用配置负载均衡策略,以实现应用部署。可见,该方法通过把虚拟机定义成Kubernetes的自定义资源,打破了虚拟机和容器的应用管理壁垒,通过云平台连接Kubernetes容器与虚拟机,实现同应用跨容器与虚拟机部署,并且支持自定义访问的负载均衡算法。

此外,本申请还提供了一种跨虚拟机和Kubernetes集群的应用部署装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所提供的一种跨虚拟机和Kubernetes集群的应用部署方法实施例一的实现流程图;

图2为本申请所提供的一种跨虚拟机和Kubernetes集群的应用部署方法实施例二中应用部署过程的过程示意图;

图3为本申请所提供的一种跨虚拟机和Kubernetes集群的应用部署方法实施例二中应用访问过程的过程示意图;

图4为本申请所提供的一种跨虚拟机和Kubernetes集群的应用部署装置实施例的功能框图。

具体实施方式

本申请的核心是提供一种跨虚拟机和Kubernetes集群的应用部署方法、装置、设备及可读存储介质,把虚拟机定义成Kubernetes的自定义资源,通过云平台连接Kubernetes容器与虚拟机,实现跨容器与虚拟机的应用部署。

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

下面对本申请提供的一种跨虚拟机和Kubernetes集群的应用部署方法实施例一进行介绍,参见图1,实施例一应用于云平台,包括:

S101、根据虚拟机IP地址,将相应的虚拟机设置为在Kubernetes集群中与pod相平行的自定义资源;

S102、接收应用发布请求,在应用发布请求中的部署环境参数为虚拟机时,将当前应用部署至Kubernetes集群的目标虚拟机;

S103、为当前应用配置负载均衡策略,以实现应用部署。

本实施例中,云平台具体是指Kubernetes集群的云平台,基于云平台可以将应用部署到pod上,而在通过将虚拟机设置为与pod相平行的自定义资源之后,基于云平台还能够将应用部署到虚拟机上。

本申请中,应用发布请求包括部署环境参数,部署环境参数根据实际需求自行设置,具体可以为pod,可以为虚拟机,也可以为pod和虚拟机。其中,当部署环境参数为pod时,直接将应用部署至目标pod即可,由于该功能为Kubernetes集群云平台的原有功能,因此不再展开介绍。

当部署环境参数为虚拟机时,在将当前应用部署至Kubernetes集群的目标虚拟机之后,还可以进一步为目标虚拟机上的当前应用设置应用标签。

当部署环境参数为虚拟机和pod时,将当前应用分别部署至Kubernetes集群的目标虚拟机和目标pod;然后,为目标虚拟机上的当前应用和目标pod上的当前应用设置相同的应用标签,使虚拟机和pod被同等对待。

在实现应用部署之后,还包括:根据应用更新请求,对目标虚拟机上的当前应用和目标pod上的当前应用进行版本更新。

在实现应用部署之后,还包括:根据应用访问请求,确定待访问应用,读取待访问应用的负载均衡策略;根据待访问应用的负载均衡策略以及待访问应用的应用标签,将应用访问请求转发至目标虚拟机或目标pod,以实现应用访问。

本实施例所提供一种跨虚拟机和Kubernetes集群的应用部署方法,应用于云平台,通过把虚拟机定义成Kubernetes的自定义资源,打破了虚拟机和容器的应用管理壁垒,通过云平台连接Kubernetes容器与虚拟机,实现同应用跨容器与虚拟机部署,并且支持自定义访问的负载均衡算法。

下面开始详细介绍本申请提供的一种跨虚拟机和Kubernetes集群的应用部署方法实施例二,参见图2,实施例二具体包括:

实施例二基于云平台实现,云平台包括程序发布装置、标签配置装置、负载均衡配置装置和反向代理装置。

如图2所示,当需要发布应用时,用户利用云平台选择需要部署环境(Kubernetes容器、虚拟机),支持同一应用在两种环境同时部署。待发布的当前应用通过云平台的程序发布装置选择Kubernetes或虚拟化平台进行程序发布,将当前应用发布至目标虚拟机和/或目标pod。发布完成后,通过标签配置装置,对目标虚拟机和/或目标pod上的当前应用进行标签化标记,标签配置装置会对不同环境的应用标记相同的应用标签。然后,通过负载均衡配置装置对应用的访问进行负载均衡算法配置,至此应用程序发布完成。

如图3所示,当需要访问应用时,首先通过反向代理装置读取并验证待访问应用的负载均衡策略,然后通过标签配置装置选择不同环境具有同一应用标签的服务进行流量转发,最后返回访问结果。

总之,本实施例将虚拟机设置为Kubernetes集群的自定义资源,然后通过云平台的发布功能与反向代理能力,实现应用跨容器与虚拟机的统一部署与对外服务,主要包括如下几个步骤:

S201、通过云平台发布新应用时,如果需要应用跨容器与虚拟机部署,则需要选择相应的集群及虚拟机平台;如需要同时把应用发布到Kubernetes和VM虚拟机,云平台的程序发布装置会选择定义好的环境对应用进行发布。

S202、应用发布完成后,云平台的标签配置装置会对应用进行统一的标签化标记。

S203、通过云平台的负载均衡配置装置,对不同环境的应用访问进行负载均衡算法配置,应用发布完成。

S204、用户访问应用时,通过云平台的反向代理装置对应用进行访问,反向代理装置会读取负载均衡装置的负载均衡策略,然后通过标签配置装置选择具有同一标签的pod或虚拟机将流量进行转发。

S205、云平台返回pod或虚拟机的处理结果。

可见,本实施例提供的一种跨虚拟机和Kubernetes集群的应用部署方法,将虚拟机定义为Kubernetes自定义资源,使之具有与POD平行的资源概念,打破跨虚拟机和容器的应用管理壁垒。通过云平台连接Kubernetes容器与虚拟机,实现同一应用的跨Kubernetes集群和虚拟机平台的部署。并且支持自定义访问的负载均衡算法,同等对待虚拟机与pod,为不同部署环境下的应用设置统一的负载均衡策略,通过反向代理的方式实现应用的跨平台自动发现与访问请求转发,实现同一应用的跨Kubernetes集群和虚拟机平台的访问控制。

下面对本申请实施例提供的一种跨虚拟机和Kubernetes集群的应用部署装置进行介绍,下文描述的一种跨虚拟机和Kubernetes集群的应用部署装置与上文描述的一种跨虚拟机和Kubernetes集群的应用部署方法可相互对应参照。

如图4所示,本实施例的跨虚拟机和Kubernetes集群的应用部署装置,应用于云平台,包括:

资源定义模块401:用于根据虚拟机IP地址,将相应的虚拟机设置为在Kubernetes集群中与pod相平行的自定义资源;

部署模块402:用于接收应用发布请求,在应用发布请求中的部署环境参数为虚拟机时,将当前应用部署至Kubernetes集群的目标虚拟机;

负载均衡配置模块403:用于为当前应用配置负载均衡策略,以实现应用部署。

在一些具体的实施例中,还包括:

标签设置模块:用于为目标虚拟机上的当前应用设置应用标签。

本实施例的跨虚拟机和Kubernetes集群的应用部署装置用于实现前述的跨虚拟机和Kubernetes集群的应用部署方法,因此该装置中的具体实施方式可见前文中的跨虚拟机和Kubernetes集群的应用部署方法的实施例部分,例如,资源定义模块401、部署模块402、负载均衡配置模块403,分别用于实现上述跨虚拟机和Kubernetes集群的应用部署方法中步骤S101,S102,S103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的跨虚拟机和Kubernetes集群的应用部署装置用于实现前述的跨虚拟机和Kubernetes集群的应用部署方法,因此其作用与上述方法的作用相对应,这里不再赘述。

此外,本申请还提供了一种跨虚拟机和Kubernetes集群的应用部署设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行计算机程序,以实现如上文所述的跨虚拟机和Kubernetes集群的应用部署方法。

最后,本申请提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时用于实现如上文所述的跨虚拟机和Kubernetes集群的应用部署方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 跨虚拟机和Kubernetes集群的应用部署方法
  • 多Kubernetes集群的应用部署方法及装置
技术分类

06120112149652