容器的服务调度方法和装置制造方法及图纸

技术编号:19821221 阅读:30 留言:0更新日期:2018-12-19 14:30
本申请提供了一种容器的服务调度方法、容器的调度装置和管理装置,该容器的服务调度方法包括:首先创建容器组,该容器组中包括至少两个容器,例如,第一容器和第二容器;根据需运行的应用程序,在各容器上分别运行服务,首先启动第一容器,第一容器的第一服务在第一容器启动时启动,第一服务占用所述容器组提供的第一端口,然后启动第二容器,第二容器的第二服务在第二容器启动时启动,第二容器内设置有端口替换脚本,端口替换脚本用于将第一端口替换为所述容器组提供的第二端口。本申请提供的容器的服务调度方法能够避免同一容器组下的各容器启动服务时出现端口冲突。

【技术实现步骤摘要】
容器的服务调度方法和装置
本申请涉及计算机领域,并且更具体地,涉及一种容器的服务调度方法和装置。
技术介绍
在计算机系统中,容器(container)可以作为一种轻量级的虚拟机,即容器是一种操作系统层次上的资源的虚拟化,用以隔离进程(process)和资源。根据需运行的应用程序,在各容器上分别运行服务,可以使得应用程序如同在独立的机器上运行一样。容器技术有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。常见的容器技术包括SolarisZones、BSDJails和Linux操作系统上的容器技术等等。命名空间(NameSpace)是Linux的一项内核(kernel)技术,是容器技术的基础。其中,网络命名空间(NetworkNameSpace)是每个容器拥有的网络设备,独享互联网协议(internetprotocol,IP)地址和端口号等。需要多个容器同时运行一个应用程序时,容器系统建立至少一个容器组(pod),每个容器组包含至少两个容器,每个容器上的服务分别用于运行应用程序。各容器上的服务在运行应用程序时,分别通过网络命名空间上的端口实本文档来自技高网...

【技术保护点】
1.一种容器的服务调度方法,其特征在于,所述方法包括:创建容器组,所述容器组包括第一容器和第二容器;启动所述第一容器,其中,所述第一容器的第一服务在所述第一容器启动时启动,所述第一服务占用所述容器组提供的第一端口;启动所述第二容器,其中,所述第二容器的第二服务在所述第二容器启动时启动,且所述第二容器内设置有端口替换脚本,所述端口替换脚本用于将所述第一端口替换为所述容器组提供的第二端口,所述第二服务在检测到所述第一端口被占用时根据所述端口替换脚本占用所述第二端口。

【技术特征摘要】
1.一种容器的服务调度方法,其特征在于,所述方法包括:创建容器组,所述容器组包括第一容器和第二容器;启动所述第一容器,其中,所述第一容器的第一服务在所述第一容器启动时启动,所述第一服务占用所述容器组提供的第一端口;启动所述第二容器,其中,所述第二容器的第二服务在所述第二容器启动时启动,且所述第二容器内设置有端口替换脚本,所述端口替换脚本用于将所述第一端口替换为所述容器组提供的第二端口,所述第二服务在检测到所述第一端口被占用时根据所述端口替换脚本占用所述第二端口。2.根据权利要求1所述的方法,其特征在于,所述容器组还包括第三容器,所述创建容器组后,所述方法还包括:启动所述第三容器,其中所述第三容器的管理服务在所述第三容器启动时启动,所述第三容器的管理服务用于记录所述第二服务在检测到所述第一端口被占用时所述第二服务发送的所述第二端口与所述第二服务的第一对应关系。3.根据权利要求2所述的方法,其特征在于,所述第二容器内设置的所述端口替换脚本由所述第三容器发送至所述第二容器。4.根据权利要求2或3所述的方法,其特征在于,所述第三容器的管理服务还用于记录所述第一服务发送的所述第一端口与所述第一服务的第二对应关系,所述第二服务在检测到所述第一端口被占用时根据所述端口替换脚本占用所述第二端口,具体包括:所述第二服务接收包含所述第一端口的端口绑定申请,查询所述第三容器的管理服务中的所述第二对应关系,检测到所述第一端口被占用,根据所述端口替换脚本占用所述第二端口;或者,所述第二服务根据接收的所述端口绑定申请,绑定所述第一端口失败,根据所述端口替换脚本占用所述第二端口。5.根据权利要求1-4中任一所述的方法,其特征在于,所述容器组还包括被处理对象,所述方法还包括:所述第二服务通过所述第一端口确定所述第一服务处理所述被处理对象的进度。6.一种容器的服务调度方法,其特征在于,所述方法应用于第三容器,所述第三容器设置于容器组,所述容器组还包括第一容器和第二容器,所述第一容器包括第一服务,所述第一服务占用所述容器组提供的第一端口,所述第二容器包括第二服务;所述方法包括:向所述第二容器发送包含端口替换脚本的调度信息,所述端口替换脚本用于将所述第一端口替换为第二端口,所述调度信息用于指示在所述第二容器中设置所述端口替换脚本,以使所述第二服务在检测到所述第一端口被占用时根据所述端口替换脚本占用所述容器组提供的所述第二端口。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:记录所述第二服务在检测到所述第一端口被占用时所述第二服务发送的所述第二端口与所述第二服务的第一对应关系。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:记录所述第一服务发送的所述第一端口与所述第一服务的第二对应关系,以使所述第二服务接收包含所述第一端口的端口绑定申请后,查询所述管理服务中的所述第二对应关系,检测所述第一端口是否被占用。9.根据权利要求6-8中任一项所述的方法,其特征在于,所述容器组还包含被处理对象,所述方法还包括:记录所述第二服务发送的所述第二端口与所述第二服务的第一对应关系,以使所述第一服务通过所述第二端口确定所述第二服务处理所述被处理对象的进度。10.一种容器的调度装置,其特征在于,所述调度装置包括创建单元和启动单元;所述创建单元用于:创建容器组,所述容器组包括第一容器和第二容器;所述启动...

【专利技术属性】
技术研发人员:王凯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1