【技术实现步骤摘要】
一种容器对外提供服务的方法、装置及电子设备
本专利技术涉及云计算
,特别是涉及一种容器对外提供服务的方法、装置及电子设备。
技术介绍
随着容器技术的发展,云系统可以应用容器对外提供网络服务。具体的,如图1所示,为目前的云系统的一种构架示意图,目前的云系统可以包括负载均衡器LoadBalance和云主机Node,云系统通过负载均衡器LoadBalance与客户端通信连接,云主机Node作为负载均衡器的后台服务器,与负载均衡器通信连接,其中,负载均衡器LoadBalance配置有云主机Node的云主机端口的端口号;云主机Node上运行有容器Container并配置有kube-proxy代理模块,多个容器Container组成一个容器组Pod;kube-proxy代理模块配置有云主机Node的云主机端口与容器的容器端口的映射关系,上述云系统通过kubernetes部署完成。其中,Kubernetes是Google开源的一个容器编排引擎,支持自动化部署、大规模可伸缩以及应用容器化管理。基于图1所示的目前的云系统的构架, ...
【技术保护点】
1.一种容器对外提供服务的方法,其特征在于,所述方法包括:/n获取客户端的访问请求,其中,所述访问请求包括源IP地址;/n在预存的访问请求分发路径表中,查找与所述源IP地址对应的容器,作为目标容器;/n若查找到与所述源IP地址对应的目标容器,则从预存的容器信息列表中,获取所述目标容器的地址信息;/n基于所述地址信息,将所述访问请求发送至所述目标容器。/n
【技术特征摘要】
1.一种容器对外提供服务的方法,其特征在于,所述方法包括:
获取客户端的访问请求,其中,所述访问请求包括源IP地址;
在预存的访问请求分发路径表中,查找与所述源IP地址对应的容器,作为目标容器;
若查找到与所述源IP地址对应的目标容器,则从预存的容器信息列表中,获取所述目标容器的地址信息;
基于所述地址信息,将所述访问请求发送至所述目标容器。
2.根据权利要求1所述的方法,其特征在于,在所述获取客户端的访问请求的步骤之前,所述方法还包括:
获取容器集群中包括的容器的地址信息;
基于获取的容器的地址信息,建立所述容器信息列表。
3.根据权利要求1所述的方法,其特征在于,
容器的地址信息包括:容器的IP地址、端口号以及容器所在的服务器的ID。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
若在预存的访问请求分发路径表中,没有查找到与所述源IP地址对应的目标容器,则执行以下步骤:
从服务器集群中选择待接收所述访问请求的服务器,作为目标服务器;
从所述目标服务器上运行的容器中,选择待接收所述访问请求的容器,作为目标容器;
从预存的容器信息列表中,获取所述目标容器的地址信息;
基于所述地址信息,将所述访问请求发送至所述目标容器;
基于所述源IP地址和所述目标容器的容器标识,建立所述访问请求分发路径表。
5.根据权利要求4所述的方法,其特征在于,所述从服务器集群中选择待接收所述访问请求的服务器,作为目标服务器的步骤,包括:
基于预设的负载均衡调度规则,从服务器集群中选择待接收所述访问请求的服务器,作为目标服务器,其中,所述预设的负载均衡调度规则包括:轮询规则和/或最小连接数规则。
6.根据权利要求5所述的方法,其特征在于,
所述轮询规则包括:根据服务器的预设权重,从所述服务器集群中选择权重最小的服务器,作为目标服务器;
所述最小连接数规则包括:获取服务器集群中每个服务器的连接数,从所述服务器集群中选择连接数最小的服务器,作为目标服务器。
7.根据权利要求1-3任一项所述的方法,其特征在于,容器运行在kubernetes上,所述方法还包括:
通过所述kubernetes提供的接口,订阅所述容器信息列表中容器的更新事件;
基于更新事件,监测所述容器是否发生变化;
若发生变化,则将发生变化的容器的地址信息,更新到所述容器信息列表中。
8.一种容器对外提供服务的装置,其特征在于,所述装置包括:
第一获取模块,用于获取客户端的访问请求,其中,所述访问请求包括源IP地址;
查找模块,用于在预存的访问请求分发路径表中,查找与所述源IP地址对应的容器,作为目标容器;
第二获取模块,用于若查找到与所述源IP地址对应的目标容器,则从预存的容器信...
【专利技术属性】
技术研发人员:赵帅,
申请(专利权)人:北京金山云网络技术有限公司,北京金山云科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。