动态发布容器服务的系统、方法、计算机设备及介质技术方案

技术编号:31578904 阅读:19 留言:0更新日期:2021-12-25 11:21
本发明专利技术涉及动态发布容器服务的系统、方法、计算机设备及介质。按照本发明专利技术一个方面的动态发布容器服务的系统包括:容器地址获取模块,其配置成动态获取Kubernetes集群中容器的地址信息;负载均衡适配模块,其配置成:根据所述获取的容器的地址信息在负载均衡设备上生成代理地址池;以及从虚拟服务地址池获取空闲的虚拟服务地址,以将所述空闲的虚拟服务地址配置到所述负载均衡设备的虚拟服务并与所述代理地址池关联,其中所述虚拟服务地址为客户端提供统一的访问地址;和路由模块,其配置成根据所述获取的容器的地址信息在所述负载均衡设备和所述容器之间建立通信连接,使得所述负载均衡设备将接收的客户端请求经由所述通信连接转发到代理地址池的容器。信连接转发到代理地址池的容器。信连接转发到代理地址池的容器。

【技术实现步骤摘要】
动态发布容器服务的系统、方法、计算机设备及介质


[0001]本专利技术涉及计算机
,并且更具体地涉及一种动态发布容器服务的系统、动态发布容器服务的方法、计算机设备及计算机存储介质。

技术介绍

[0002]随着容器技术的发展,金融行业、互联网行业等众多行业都开始将应用容器化,以实现高的资源利用率、高可移植性、环境标准化和版本控制、环境隔离和资源限制等优点。
[0003]对于大规模容器的编排管理,目前的解决方案主要有三种,分别为Docker Swarm、Kubernetes和Mesos,其中应用最广泛的解决方案为Kubernetes。Kubernetes是一种容器集群管理系统,其能够实现容器集群的自动化部署、自动扩缩容、维护等功能。Pod是在Kubernetes平台上部署、创建或管理的最小单位,一个Pod代表正在运行的一个进程,而一个Pod中可以运行一个或多个容器。
[0004]在传统的发布容器服务的过程中,需要在Kubernetes集群中创建NodePort类型的Service,将容器服务的IP地址和端口映射到容器的宿主机上,然后在外部负载均衡设备上手动创建代理地址池和虚拟服务。然而,这种发布容器服务的方式需要人工干预,无法实现弹性扩缩容,并且请求转发的效率低下。

技术实现思路

[0005]为了解决或至少缓解以上问题中的一个或多个,提供了以下技术方案。
[0006]按照本专利技术的第一方面,提供一种动态发布容器服务的系统,其包括:容器地址获取模块,其配置成动态获取Kubernetes集群中容器的地址信息;负载均衡适配模块,其配置成:根据所述获取的容器的地址信息在负载均衡设备上生成代理地址池;以及从虚拟服务地址池获取空闲的虚拟服务地址,以将所述空闲的虚拟服务地址配置到所述负载均衡设备的虚拟服务并与所述代理地址池关联,其中所述虚拟服务地址为客户端提供统一的访问地址;和路由模块,其配置成根据所述获取的容器的地址信息在所述负载均衡设备和所述容器之间建立通信连接,使得所述负载均衡设备将接收的客户端请求经由所述通信连接转发到所述代理地址池的容器。
[0007]根据本专利技术一实施例所述的动态发布容器服务的系统,其中所述系统进一步包括:动态配置模块,其配置成检测VirtualService资源对象的配置并且对所述VirtualService资源对象的配置进行解析,以获取与所述VirtualService资源对象的配置相关联的容器控制器信息、负载均衡配置信息和路由配置信息。
[0008]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的系统,其中所述动态配置模块进一步配置成:调用所述容器地址获取模块,使得所述容器地址获取模块基于所述容器控制器信息获取与容器控制器相关联的容器的地址信息。
[0009]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的系统,其中所述动态配置模块进一步配置成:调用所述路由模块,使得所述路由模块基于由所述路由
配置信息指示的静态路由的方式或动态路由的方式在所述负载均衡设备和所述容器之间建立通信连接。
[0010]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的系统,其中所述容器地址获取模块进一步配置成:监听所述Kubernetes集群中所述容器的地址信息的变化;响应于所述容器的地址信息的变化来指示所述动态配置模块调用所述负载均衡适配模块,使得所述负载均衡适配模块调整在所述负载均衡设备上生成的代理地址池;以及响应于所述容器的地址信息的变化来指示所述动态配置模块调用所述路由模块,使得所述路由模块调整在所述负载均衡设备和所述容器之间建立的通信连接。
[0011]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的系统,其中所述容器地址获取模块进一步配置成响应于所述容器的地址信息的变化来指示所述动态配置模块执行以下步骤:当所述容器的地址信息的变化为新增时调用所述负载均衡适配模块,使得所述负载均衡适配模块在所述负载均衡设备上生成的代理地址池内新增相应的容器的地址信息;当所述容器的地址信息的变化为修改时调用所述负载均衡适配模块,使得所述负载均衡适配模块在所述负载均衡设备上生成的代理地址池内修改相应的容器的地址信息;以及当所述容器的地址信息的变化为删除时调用所述负载均衡适配模块,使得所述负载均衡适配模块在所述负载均衡设备上生成的代理地址池内删除相应的容器的地址信息。
[0012]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的系统,其中所述动态配置模块进一步配置成:调用所述负载均衡适配模块,使得所述负载均衡适配模块基于所述负载均衡配置信息来配置所述负载均衡设备执行容器健康检查操作、负载均衡操作、会话保持操作和流量控制操作中的一种或多种操作。
[0013]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的系统,其中所述路由模块进一步配置成:合并相邻子网的路由以减少所述负载均衡设备内的路由条目;以及定时检测所述负载均衡设备和所述容器之间建立的通信连接的可用性。
[0014]按照本专利技术的第二方面,提供一种动态发布容器服务的方法,其包括以下步骤:容器地址获取步骤,其用于动态获取Kubernetes集群中容器的地址信息;负载均衡适配步骤,其用于:根据所述获取的容器的地址信息在负载均衡设备上生成代理地址池;以及从虚拟服务地址池获取空闲的虚拟服务地址,以将所述空闲的虚拟服务地址配置到所述负载均衡设备的虚拟服务并与所述代理地址池关联,其中所述虚拟服务地址为客户端提供统一的访问地址;和路由步骤,其用于根据所述获取的容器的地址信息在所述负载均衡设备和所述容器之间建立通信连接,使得所述负载均衡设备将接收的客户端请求经由所述通信连接转发到所述代理地址池的容器。
[0015]根据本专利技术一实施例所述的动态发布容器服务的方法,其中所述方法进一步包括:动态配置步骤,其用于检测VirtualService资源对象的配置并且对所述VirtualService资源对象的配置进行解析,以获取与所述VirtualService资源对象的配置相关联的容器控制器信息、负载均衡配置信息和路由配置信息。
[0016]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的方法,其中所述动态配置步骤进一步包括:调用所述容器地址获取步骤以基于所述容器控制器信息获取与容器控制器相关联的容器的地址信息。
[0017]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的方法,其中所述动态配置步骤进一步包括:调用所述路由步骤以基于由所述路由配置信息指示的静态路由的方式或动态路由的方式在所述负载均衡设备和所述容器之间建立通信连接。
[0018]根据本专利技术一实施例或以上任一实施例的所述的动态发布容器服务的方法,其中所述容器地址获取步骤进一步包括:监听所述Kubernetes集群中所述容器的地址信息的变化;响应于所述容器的地址信息的变化来经由所述动态配置步骤调用所述负载均衡适配步骤,以调整在所述负载均衡设备上生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态发布容器服务的系统,其特征在于,所述系统包括:容器地址获取模块,其配置成动态获取Kubernetes集群中容器的地址信息;负载均衡适配模块,其配置成:根据所述获取的容器的地址信息在负载均衡设备上生成代理地址池;以及从虚拟服务地址池获取空闲的虚拟服务地址,以将所述空闲的虚拟服务地址配置到所述负载均衡设备的虚拟服务并与所述代理地址池关联,其中所述虚拟服务地址为客户端提供统一的访问地址;和路由模块,其配置成根据所述获取的容器的地址信息在所述负载均衡设备和所述容器之间建立通信连接,使得所述负载均衡设备将接收的客户端请求经由所述通信连接转发到所述代理地址池的容器。2.根据权利要求1所述的动态发布容器服务的系统,其中所述系统进一步包括:动态配置模块,其配置成检测VirtualService资源对象的配置并且对所述VirtualService资源对象的配置进行解析,以获取与所述VirtualService资源对象的配置相关联的容器控制器信息、负载均衡配置信息和路由配置信息。3.根据权利要求2所述的动态发布容器服务的系统,其中所述动态配置模块进一步配置成:调用所述容器地址获取模块,使得所述容器地址获取模块基于所述容器控制器信息获取与容器控制器相关联的容器的地址信息。4.根据权利要求2所述的动态发布容器服务的系统,其中所述动态配置模块进一步配置成:调用所述路由模块,使得所述路由模块基于由所述路由配置信息指示的静态路由的方式或动态路由的方式在所述负载均衡设备和所述容器之间建立通信连接。5.根据权利要求2所述的动态发布容器服务的系统,其中所述容器地址获取模块进一步配置成:监听所述Kubernetes集群中所述容器的地址信息的变化;响应于所述容器的地址信息的变化来指示所述动态配置模块调用所述负载均衡适配模块,使得所述负载均衡适配模块调整在所述负载均衡设备上生成的代理地址池;以及响应于所述容器的地址信息的变化来指示所述动态配置模块调用所述路由模块,使得所述路由模块调整在所述负载均衡设备和所述容器之间建立的通信连接。6.根据权利要求5所述的动态发布容器服务的系统,其中所述容器地址获取模块进一步配置成响应于所述容器的地址信息的变化来指示所述动态配置模块执行以下步骤:当所述容器的地址信息的变化为新增时调用所述负载均衡适配模块,使得所述负载均衡适配模块在所述负载均衡设备上生成的代理地址池内新增相应的容器的地址信息;当所述容器的地址信息的变化为修改时调用所述负载均衡适配模块,使得所述负载均衡适配模块在所述负载均衡设备上生成的代理地址池内修改相应的容器的地址信息;以及当所述容器的地址信息的变化为删除时调用所述负载均衡适配模块,使得所述负载均衡适配模块在所述负载均衡设备上生成的代理地址池内删除相应的容器的地址信息。7.根据权利要求2所述的动态发布容器服务的系统,其中所述动态配置模块进一步配置成:
调用所述负载均衡适配模块,使得所述负载均衡适配模块基于所述负载均衡配置信息来配置所述负载均衡设备执行容器健康检查操作、负载均衡操作、会话保持操作和流量控制操作中的一种或多种操作。8.根据权利要求1所述的动态发布容器服务的系统,其中所述路由模块进一步配置成:合并相邻子网的路由以减少所述负载均衡设备内的路由条目;以及定时检测所述负载均衡设备和所述容器之间建立的通信连接的可用性。9.一种动态发布容器服务的方法,其特征在于,包括以下步骤:容器地址获取...

【专利技术属性】
技术研发人员:程治玮郝赫
申请(专利权)人:证通股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1