CN113900807A - 端口分配方法、装置和系统 - Google Patents
端口分配方法、装置和系统 Download PDFInfo
- Publication number
- CN113900807A CN113900807A CN202111172168.7A CN202111172168A CN113900807A CN 113900807 A CN113900807 A CN 113900807A CN 202111172168 A CN202111172168 A CN 202111172168A CN 113900807 A CN113900807 A CN 113900807A
- Authority
- CN
- China
- Prior art keywords
- port
- state
- allocation
- service
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提出一种端口分配方法、装置和系统,涉及云计算领域。端口分配服务接收容器编排引擎发送的端口分配请求;端口分配服务响应所述端口分配请求,从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口,并返回给容器编排引擎;端口分配服务将本次分配的端口的状态更新为已使用状态。从而解决端口冲突的问题。
Description
技术领域
本公开涉及云计算领域,特别涉及一种端口分配方法、装置和系统。
背景技术
随着云计算技术的普及,kubernetes作为云计算Pass平台的容器编排引擎,简化了应用的容器化部署,提高了生产力。Kubernetes在用于大规模分布式任务时采用hostnetwork(主机网络)模式,用于pod(kubernetes创建的最小服务单元)之间的通信和pod与其他服务之间的通信。
Kubernetes集群在使用hostnetwork模式时,由于端口随机分配方式,存在着端口冲突的问题。
发明内容
本公开实施例由端口分配服务统一管理端口状态并响应端口分配请求,从端口状态是未使用状态的端口集合中分配相应的端口给容器编排引擎,将本次分配的端口的状态更新为已使用状态,从而解决端口冲突的问题。
本公开一些实施例提出一种端口分配方法,包括:
端口分配服务接收容器编排引擎发送的端口分配请求;
端口分配服务响应所述端口分配请求,从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口,并返回给容器编排引擎;
端口分配服务将本次分配的端口的状态更新为已使用状态。
在一些实施例中,端口分配服务从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口包括:端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口数量,分配相应数量的端口。
在一些实施例中,端口分配服务从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口包括:端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口号,分配指定的端口。
在一些实施例中,还包括:端口分配服务接收容器编排引擎在对象服务完成后发出的端口释放请求;端口分配服务响应所述端口释放请求,将所述端口释放请求指定的一个或多个端口的状态更新为未使用状态。
在一些实施例中,还包括:端口分配服务记录端口处于已使用状态的持续时间,如果处于已使用状态的持续时间超过第一预设时间,检测处于已使用状态的持续时间超过第一预设时间的端口的使用情况,将超过第二预设时间未使用的端口的状态更新为未使用状态。
在一些实施例中,所述端口分配服务有一个或多个;当有多个端口分配服务时,每个端口分配服务更新端口的状态之后,将发生更新的端口的状态实时同步给其他端口分配服务。
在一些实施例中,所述端口分配服务有一个或多个;当有多个端口分配服务时,不同的端口分配服务管理不同的端口号段的端口状态;如果端口分配请求指定了端口号,由指定的端口号所属端口号段的端口分配服务响应端口分配请求;如果端口分配请求指定了端口数量,按照预设的端口分配服务的响应顺序,由其中一个端口分配服务响应端口分配请求。
在一些实施例中,所述端口分配服务有一个或多个;当有多个端口分配服务时,由主端口分配服务响应端口分配请求,在更新端口的状态之后,将发生更新的端口的状态定期同步给其他的备用端口分配服务;其中,如果主端口分配服务发生故障,其中一个备用端口分配服务变为新的主端口分配服务,发生故障的主端口分配服务变为备用端口分配服务。
在一些实施例中,还包括:端口分配服务在检测到未使用状态的端口数量或端口比例低于预设值时,发出告警。
本公开一些实施例提出一种端口分配装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行各实施例的端口分配方法。
本公开一些实施例提出一种端口分配系统,包括:容器编排引擎,被配置为发送端口分配请求和端口释放请求;和端口分配装置。
本公开一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现各实施例的端口分配方法的步骤。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开。
显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开一些实施例的端口分配方法的流程示意图。
图2示出本公开一些实施例的端口分配方法的流程示意图。
图3示出本公开一些实施例的端口分配方法的流程示意图。
图4示出本公开一些实施例的端口分配装置的示意图。
图5示出本公开一些实施例的端口分配系统的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
除非特别说明,否则,本公开中的“第一”“第二”等描述用来区分不同的对象,并不用来表示大小或时序等含义。
图1示出本公开一些实施例的端口分配方法的流程示意图。
如图1所示,该实施例的端口分配方法包括:步骤110-140。
在步骤110,容器编排引擎接收用户发送的对象创建请求,该请求可以指定对象服务需要的端口数量或端口号。
容器编排引擎例如可以是云计算Pass平台的kubernetes,相应的,请求创建的对象例如可以是pod,pod是kubernetes创建的最小服务单元。Kubernetes上的服务节点(node)可以包括一个或多个pod。
在步骤120,端口分配服务接收容器编排引擎响应对象创建请求发送的端口分配请求,该请求可以指定端口数量或端口号。
容器编排引擎kubernetes可使用如下两个接口发送端口分配请求:
(1)/ai-hpn/ports POST,请求分配指定数量的端口
(2)/ai-hpn/port/id POST,请求分配指定端口号的端口
在步骤130,端口分配服务响应所述端口分配请求,从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口,并返回给容器编排引擎。
在一些实施例中,端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口数量,分配相应数量的端口。
在一些实施例中,端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口号,分配指定的端口。
在步骤140,端口分配服务将本次分配的端口的状态更新为已使用状态。
上述实施例,由端口分配服务统一管理端口状态并响应端口分配请求,从端口状态是未使用状态的端口集合中分配相应的端口给容器编排引擎,将本次分配的端口的状态更新为已使用状态,从而解决端口冲突的问题。
图2示出本公开一些实施例的端口分配方法的流程示意图。
如图2所示,该实施例的端口分配方法包括:步骤210-230。
在步骤210,容器编排引擎接收用户发送的对象服务完成消息。
在步骤220,端口分配服务接收容器编排引擎响应对象服务完成消息发送的端口释放请求,该请求可以指定释放的一个或多个端口号。
容器编排引擎kubernetes可使用如下两个接口发送端口释放请求:
(1)/ai-hpn/ports DELETE请求释放多个端口
(2)/ai-hpn/port DELETE请求释放一个端口
在步骤230,端口分配服务响应所述端口释放请求,将所述端口释放请求指定的一个或多个端口的状态更新为未使用状态。
上述实施例,由端口分配服务统一管理端口状态,通过更新端口状态,及时释放完成服务的对象使用的端口,使得这些端口能够被重新分配。
图3示出本公开一些实施例的端口分配方法的流程示意图。
如图3所示,该实施例的端口分配方法包括:步骤310-330。
在步骤310,端口分配服务记录端口处于已使用状态的持续时间。
在步骤320,如果处于已使用状态的持续时间超过第一预设时间,端口分配服务检测处于已使用状态的持续时间超过第一预设时间的端口的使用情况。
在步骤330,端口分配服务将超过第二预设时间未使用的端口的状态更新为未使用状态。
上述实施例,由端口分配服务监管端口的使用情况,在异常情况下,已分配的端口也能够被释放和被重新分配。例如,使用端口的对象服务发生故障,对象服务迟迟未能正常完成,端口分配服务在检测到端口长时间不使用时,通过更新端口状态,及时释放被不正常占用的端口。
前述各实施例中的端口分配服务可以有一个或多个。
当有多个端口分配服务时,这些端口分配服务可以共同提供端口分配服务,提高端口分配效率,缩短端口分配时延。并且,根据端口分配服务管理的端口号段,分为以下两种工作方式。
当多个端口分配服务管理相同的端口号段的端口状态时,每个端口分配服务更新端口的状态之后,将发生更新的端口的状态实时同步给其他端口分配服务,保持多个端口分配服务的端口状态的一致性,避免端口冲突。
当不同的端口分配服务管理不同的端口号段的端口状态时:如果端口分配请求指定了端口号,由指定的端口号所属端口号段的端口分配服务响应端口分配请求;如果端口分配请求指定了端口数量,按照预设的端口分配服务的响应顺序,由其中一个端口分配服务响应端口分配请求。例如,端口分配请求a指定了端口数量a,端口分配服务a响应端口分配请求a;端口分配请求b指定了端口数量b,端口分配服务b响应端口分配请求b。实现多个端口分配服务的协同工作。
当有多个端口分配服务时,由其中一个端口分配服务(也称主端口分配服务)提供端口分配服务,其他的称为备用端口分配服务。如果主端口分配服务发生故障,其中一个备用端口分配服务变为新的主端口分配服务,发生故障的主端口分配服务变为备用端口分配服务。从而,提高端口分配服务的鲁棒性。
当有多个端口分配服务时,由主端口分配服务响应端口分配请求,在更新端口的状态之后,将发生更新的端口的状态定期同步给其他的备用端口分配服务。在主/备端口分配服务更迭时,也可以避免端口冲突的问题。
在一些实施例中,端口分配服务在检测到未使用状态的端口数量或端口比例低于预设值时,发出告警。基于告警,可以扩容,给端口分配服务配置更多的端口资源,或者,可以回收使用效率低下的端口。
图4示出本公开一些实施例的端口分配装置的示意图。
如图4所示,该实施例的端口分配装置400包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行前述任意一些实施例中的端口分配方法。
例如,端口分配方法包括:端口分配服务接收容器编排引擎发送的端口分配请求;端口分配服务响应所述端口分配请求,从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口,并返回给容器编排引擎;端口分配服务将本次分配的端口的状态更新为已使用状态。
又例如,端口分配服务从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口包括:端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口数量,分配相应数量的端口。
又例如,端口分配服务从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口包括:端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口号,分配指定的端口。
又例如,端口分配服务接收容器编排引擎在对象服务完成后发出的端口释放请求;端口分配服务响应所述端口释放请求,将所述端口释放请求指定的一个或多个端口的状态更新为未使用状态。
又例如,端口分配服务记录端口处于已使用状态的持续时间,如果处于已使用状态的持续时间超过第一预设时间,检测处于已使用状态的持续时间超过第一预设时间的端口的使用情况,将超过第二预设时间未使用的端口的状态更新为未使用状态。
又例如,所述端口分配服务有一个或多个;当有多个端口分配服务时,每个端口分配服务更新端口的状态之后,将发生更新的端口的状态实时同步给其他端口分配服务。
又例如,所述端口分配服务有一个或多个;当有多个端口分配服务时,不同的端口分配服务管理不同的端口号段的端口状态;如果端口分配请求指定了端口号,由指定的端口号所属端口号段的端口分配服务响应端口分配请求;如果端口分配请求指定了端口数量,按照预设的端口分配服务的响应顺序,由其中一个端口分配服务响应端口分配请求。
又例如,所述端口分配服务有一个或多个;当有多个端口分配服务时,由主端口分配服务响应端口分配请求,在更新端口的状态之后,将发生更新的端口的状态定期同步给其他的备用端口分配服务;其中,如果主端口分配服务发生故障,其中一个备用端口分配服务变为新的主端口分配服务,发生故障的主端口分配服务变为备用端口分配服务。
又例如,端口分配服务在检测到未使用状态的端口数量或端口比例低于预设值时,发出告警。
其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
装置400还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430,440,450以及存储器410和处理器420之间例如可以通过总线460连接。其中,输入输出接口430为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为SD卡、U盘等外置存储设备提供连接接口。
图5示出本公开一些实施例的端口分配系统的示意图。
如图5所示,该实施例的端口分配系统包括:端口分配装置400和容器编排引擎500。其中,端口分配装置400参见前述,被配置为执行前述任意一些实施例中的端口分配方法。容器编排引擎500,被配置为根据用户的请求发送相应的端口分配请求和端口释放请求。
本公开一些实施例还提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现各实施例的端口分配方法的步骤。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机程序代码的非瞬时性计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (12)
1.一种端口分配方法,其特征在于,包括:
端口分配服务接收容器编排引擎发送的端口分配请求;
端口分配服务响应所述端口分配请求,从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口,并返回给容器编排引擎;
端口分配服务将本次分配的端口的状态更新为已使用状态。
2.根据权利要求1所述的方法,其特征在于,端口分配服务从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口包括:
端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口数量,分配相应数量的端口。
3.根据权利要求1所述的方法,其特征在于,端口分配服务从端口状态是未使用状态的端口集合中,分配所述端口分配请求相应的端口包括:
端口分配服务从端口状态是未使用状态的端口集合中,按照所述端口分配请求指定的端口号,分配指定的端口。
4.根据权利要求1所述的方法,其特征在于,还包括:
端口分配服务接收容器编排引擎在对象服务完成后发出的端口释放请求;
端口分配服务响应所述端口释放请求,将所述端口释放请求指定的一个或多个端口的状态更新为未使用状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
端口分配服务记录端口处于已使用状态的持续时间,如果处于已使用状态的持续时间超过第一预设时间,检测处于已使用状态的持续时间超过第一预设时间的端口的使用情况,将超过第二预设时间未使用的端口的状态更新为未使用状态。
6.根据权利要求1所述的方法,其特征在于,
所述端口分配服务有一个或多个;
当有多个端口分配服务时,每个端口分配服务更新端口的状态之后,将发生更新的端口的状态实时同步给其他端口分配服务。
7.根据权利要求1所述的方法,其特征在于,
所述端口分配服务有一个或多个;
当有多个端口分配服务时,不同的端口分配服务管理不同的端口号段的端口状态;
如果端口分配请求指定了端口号,由指定的端口号所属端口号段的端口分配服务响应端口分配请求;
如果端口分配请求指定了端口数量,按照预设的端口分配服务的响应顺序,由其中一个端口分配服务响应端口分配请求。
8.根据权利要求1所述的方法,其特征在于,
所述端口分配服务有一个或多个;
当有多个端口分配服务时,由主端口分配服务响应端口分配请求,在更新端口的状态之后,将发生更新的端口的状态定期同步给其他的备用端口分配服务;
其中,如果主端口分配服务发生故障,其中一个备用端口分配服务变为新的主端口分配服务,发生故障的主端口分配服务变为备用端口分配服务。
9.根据权利要求1所述的方法,其特征在于,还包括:
端口分配服务在检测到未使用状态的端口数量或端口比例低于预设值时,发出告警。
10.一种端口分配装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-9中任一项所述的端口分配方法。
11.一种端口分配系统,包括:
容器编排引擎,被配置为发送端口分配请求和端口释放请求;和
权利要求10所述的端口分配装置。
12.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-9中任一项所述的端口分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111172168.7A CN113900807A (zh) | 2021-10-08 | 2021-10-08 | 端口分配方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111172168.7A CN113900807A (zh) | 2021-10-08 | 2021-10-08 | 端口分配方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900807A true CN113900807A (zh) | 2022-01-07 |
Family
ID=79190589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111172168.7A Pending CN113900807A (zh) | 2021-10-08 | 2021-10-08 | 端口分配方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900807A (zh) |
-
2021
- 2021-10-08 CN CN202111172168.7A patent/CN113900807A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
CN110647394B (zh) | 一种资源分配方法、装置及设备 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US11740921B2 (en) | Coordinated container scheduling for improved resource allocation in virtual computing environment | |
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
WO2021103646A1 (zh) | 一种部署pod的方法及装置 | |
CN103064742A (zh) | 一种hadoop集群的自动部署系统及方法 | |
EP3442201B1 (en) | Cloud platform construction method and cloud platform | |
CN103810046A (zh) | 一种单机资源管理方法及系统 | |
US10761869B2 (en) | Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type | |
CN103078965A (zh) | 虚拟机的ip地址管理方法 | |
EP3358795B1 (en) | Method and apparatus for allocating a virtual resource in network functions virtualization (nfv) network | |
CN114518955A (zh) | 一种基于kubernetes的Flink云原生部署架构方法及系统 | |
CN105469173A (zh) | 一种静态内存进行优化管理的方法 | |
CN116157778A (zh) | 共享物理主机上混合集中分布式调度的系统和方法 | |
CN113900807A (zh) | 端口分配方法、装置和系统 | |
CN112241293A (zh) | 工业互联网云平台的应用管理方法、装置、设备及介质 | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN112468458B (zh) | 一种基于neutron分层机制的调度方法 | |
CN115378885A (zh) | 超融合架构下的虚拟机业务网络带宽管理方法及装置 | |
CN114157569A (zh) | 集群系统及其构建方法和构建装置 | |
CN109257201B (zh) | 一种License的发送方法和装置 | |
CN106844021B (zh) | 计算环境资源管理系统及其管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |