CN110286996A - 容器实例ip切换方法、装置、计算机设备及存储介质 - Google Patents

容器实例ip切换方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110286996A
CN110286996A CN201910413829.7A CN201910413829A CN110286996A CN 110286996 A CN110286996 A CN 110286996A CN 201910413829 A CN201910413829 A CN 201910413829A CN 110286996 A CN110286996 A CN 110286996A
Authority
CN
China
Prior art keywords
application
container instance
gray scale
former
load balancing
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.)
Granted
Application number
CN201910413829.7A
Other languages
English (en)
Other versions
CN110286996B (zh
Inventor
黄桂钦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910413829.7A priority Critical patent/CN110286996B/zh
Publication of CN110286996A publication Critical patent/CN110286996A/zh
Priority to PCT/CN2019/117360 priority patent/WO2020233002A1/zh
Application granted granted Critical
Publication of CN110286996B publication Critical patent/CN110286996B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本申请实施例提供一种容器实例IP切换方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:停用原应用的部分容器实例,以及该部分容器实例的IP,再新增灰度应用的容器实例,该部分容器实例的IP回收到预设IP地址池,从预设IP地址池所停用的IP中获取第二预设数量的IP,并将第二预设数量的IP分配给灰度应用新增的容器实例。如此,实现了将停用的原应用的容器实例以及容器实例IP切换到灰度应用,通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。本申请实施例可方便进行灰度应用的测试,提高切换容器实例以及容器实例IP的效率和速度。

Description

容器实例IP切换方法、装置、计算机设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种容器实例IP切换方法、装置、计算机设备及存储介质。
背景技术
若一个应用在原版本的基础上添加了新功能或者改进了原版本的某些功能,那么会涉及到灰度发布。灰度发布主要是按照一定策略选取部分用户,让这部分用户先行体验的新版本的应用,通过收集这部分用户对新版本应用的反馈以及对新版本功能、性能、稳定性等指标进行评论,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。如此,将灰度发布所对应的新版本的应用称为灰度应用,可以在灰度应用上进行测试。目前发布灰度应用,需要先申请服务器,在服务器上搭建中间件,再发布灰度应用的版本。发布灰度应用的版本时会为该灰度应用创建负载均衡应用,并为该负载均衡应用分配一个配置文件和对应的域名等。如此,原应用和灰度应用的负载均衡应用对应两个不同的配置文件和两个不同的域名(从资源分配上看,也可以理解为,原应用和灰度应用是不同的应用,中间没有任何关联)。而用户来访问该应用(包括原应用和灰度应用)时,使用的是同一个域名,同一个网址。如此,对灰度应用的测试、灰度应用对外提供服务带来诸多不便。如若想实现对灰度应用的测试,需要修改对应的配置文件、修改路由等才可以实现。而修改需要较高的专业知识,且修改的内容多,操作繁琐,需要大量的时间成本,同时很容易出现错误。
发明内容
本申请实施例提供一种容器实例IP切换方法、装置、计算机设备及存储介质,可在无需修改原应用的配置文件的情况下,通过原应用的访问域名,即可访问原应用,又可访问灰度应用。
第一方面,本申请实施例提供了一种容器实例IP切换方法,该方法包括:
获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用;根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量;停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池;根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量;根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
第二方面,本申请实施例提供了一种容器实例IP切换装置,该容器实例IP切换装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本申请实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例通过停用原应用的部分容器实例,以及该部分容器实例的IP,再新增灰度应用的容器实例,通过原应用和灰度应用共享的预设IP地址池,从预设IP地址池所停用的IP中获取第二预设数量的IP,并将第二预设数量的IP分配给灰度应用新增的容器实例。如此,实现了将停用的原应用的容器实例以及容器实例IP切换到灰度应用,通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。在该实施例中,无需修改原应用的配置文件(配置文件的容器实例IP仍然是原来的IP,但是该IP所对应的应用包括原应用和灰度应用),也无需修改原应用所对应的负载均衡应用的域名,用户使用原应用的所对应的域名和网址,即用户使用同一个域名或者同一个网址,既可访问原应用,又可访问灰度应用,可方便的进行灰度应用的测试。另外,本申请实施例中将停用的原应用的容器实例以及IP切换到灰度应用的切换速度非常快,可达到秒级的切换,提高了切换容器实例以及容器实例IP的效率和速度。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的容器实例IP切换方法的流程示意图;
图2是本申请实施例提供的容器实例IP切换方法的子流程示意图;
图3是本申请实施例提供的容器实例IP切换方法的子流程示意图;
图4是本申请另一实施例提供的容器实例IP切换方法的流程示意图;
图5是本申请实施例提供的容器实例IP切换装置的示意性框图;
图6是本申请实施例提供的停用单元的示意性框图;
图7是本申请实施例提供的启用单元的示意性框图;
图8是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的容器实例IP切换方法的流程示意图。如图1所示,该方法包括S101-S106。
S101,获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用的信息包括灰度应用的容器实例IP,其中,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用。
获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息可通过多种方式。一般情况下,在该PaaS平台的服务器中保存有所有应用所创建的容器实例IP和容器实例数量,如此可从保存应用所创建的容器实例IP和容器实例数量的数据库或者文件中直接获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息。其中,灰度应用的信息包括灰度应用的容器实例IP、灰度应用的容器实例数量、灰度应用的应用环境、灰度应用的区域等信息。
S102,将所述原应用的容器实例IP和灰度应用的容器实例IP作为预设IP地址池。
将原应用的容器实例IP和灰度应用的容器实例IP作为预设IP地址池,并设置原应用的容器实例和灰度应用的容器实例共享该预设IP地址池。如此,一旦一个IP被分配给原应用的容器实例和原应用的灰度应用的容器实例,那么该IP加入到共享的预设IP地址池中,同时该IP不能被其他应用占用,只可供原应用的容器实例和灰度应用的容器实例使用。
设置原应用的容器实例IP和灰度应用的容器实例IP共享预设IP地址池是因为,一般情况下,一个应用的容器实例IP被停用之后,会被回收到空闲IP地址池,而空闲IP地址池的IP可以分配给任意一个容器应用使用。如此,若停用原应用的容器实例IP或者灰度应用的容器实例IP之后,停用的IP被回收到空闲IP地址池,不再属于原应用或者灰度应用了。而将原应用的容器实例IP和灰度应用的容器实例IP作为预设IP地址池,并设置原应用的容器实例IP和灰度应用的容器实例IP共享该预设IP地址池,那么预设IP地址池中的IP只属于原应用的容器实例和灰度应用的容器实例,不会被其他应用占用。
S103,根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量。
如可以从原应用的容器实例IP中随机确定第一预设数量的容器实例IP,也可以从原应用的容器实例IP中按照容器实例IP分配的先后顺序确定第一预设数量的容器实例IP,还可以从原应用的容器实例IP中优先确定不属于同一个网段中的容器实例IP、再按照随机或者容器实例IP分配的选后顺序确定第一预设数量的IP,还可以根据预估的灰度应用的用户访问数量确定第一预设数量的IP,还按照其他的规则选择第一预设数量的IP。其中,第一预设数量小于原应用的容器实例数量,如原应用的容器实例数量为8个,第一预设数量可以为4个等。其中,第一预设数量小于原应用的容器实例数量,是为了保留原应用的部分容器实例,以供用户访问。
在一实施例中,可开发一个对应的管理面板,以在管理面板上显示应用与应用的容器实例IP的对应关系。如此,获取在管理面板上显示的原应用以及原应用的容器实例IP。从显示的原应用的容器实例IP中按照第一预设规则选择第一预设数量的容器实例IP,并接收按照第一预设规则选择的第一预设数量的容器实例IP作为所确定的第一预设数量的IP。
S104,停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池。
确定了第一预设数量的容器实例IP后,停用所确定的容器实例IP以及容器实例IP所对应的容器实例。
在一实施例中,如图2所示,步骤S104包括以下步骤S1041-S1044。
S1041,设置所确定的第一预设数量的IP的使用状态标识为停用状态。
需要注意的是,将第一预设数量的IP设置的使用状态设置为停用状态,理解为该IP仍然属于该应用,不可以被其他应用使用。
S1042,销毁所述第一预设数量的IP所对应的容器实例。
如通过编排工具下发销毁指令到容器实例所对应的宿主机,销毁指令如dockerstop指令,在所对应的宿主机上将对应的容器实例进行销毁。其中,销毁容器实例也可理解为缩容容器实例,销毁容器实例将会释放该容器实例所占用的所有资源,如包括容器实例所对应的环境信息、关闭文件输入输出流、关闭与数据库的连接、修改其他数据库中保存的该容器实例的相关信息等。其中,编排工具如marathon等。
需要注意的是,首先停用容器实例的IP再销毁容器实例,而不是先销毁容器实例再停用容器实例的IP,是为了以防容器实例的IP有效,而容器实例无效,原应用的负载均衡应用将接收到的用户访问请求分配到该容器实例,而实际上该容器实例已经无效了,那么会导致用户访问请求的请求失败。
S1043,回收使用状态标识为停用状态的IP到预设IP地址池。
需要注意的是,该预设IP地址池中的IP是原应用与灰度应用可共享的IP。在该预设IP地址池中,使用状态标识为停用的IP不能被其他应用占用。
S1044,根据所述第一预设数量修改所述原应用的容器实例数量。
其中,修改后的容器实例数量为原应用的原容器实例数量减去第一预设数量。
需要注意的是,步骤S1043与步骤S1044的执行顺序并不严格限制,也可以先执行步骤S1044再执行步骤S1043。
S105,根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量。
如可以从预设IP地址池中的使用状态标识为停用的原应用的容器实例IP中随机确定第二预设数量的容器实例IP,也可以从使用状态标识为停用的原应用的容器实例IP中按照IP使用状态标识改变为停用状态的先后顺序确定第二预设数量的容器实例IP等,还可以根据其他的规则确定第二预设数量的容器实例IP。其中,若第二预设数量小于所停用的IP数量,意味着将所停用的一部分IP用来分配给灰度应用新增的容器实例,意味着灰度应用需要新增容器实例的数量小于原应用销毁的容器实例的数量。若第二预设数量等于所停用的IP数量,意味着将所停用的所有IP用来分配给灰度应用新增的容器实例。那么意味着原应用有多少个容器实例销毁,那么灰度应用就需要新增多少个容器实例。
在一实施例中,预设IP地址池中所停用的IP可能大于本次所停用的第一预设数量的IP。那么可以理解为,在本次停用原应用的容器实例IP之前,还听用过原应用的容器实例IP,如此,导致预设IP地址池中所停用的原应用的容器实例IP数量大于本次所停用的第一预设数量的IP。
在一实施例中,若已开发对应的管理面板,在管理面板上可显示应用与应用的容器实例IP的对应关系、以及IP的使用状态标识。如此,获取并在管理面板上显示原应用和灰度应用所对应的容器IP以及容器IP的使用状态标识;从使用状态标识为停用的IP中选择第二预设数量的需启用的IP,接收所选择的需启用的IP作为所确定的需启用的IP。并从应用信息中选择灰度应用,如根据灰度应用所对应的应用名选择灰度应用,接收所选择的灰度应用,以进一步将需启用的IP分配给灰度应用。
S106,根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例。从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
确定了需启用的IP后,将需启用的IP分配给新增的灰度应用的容器实例。
在一实施例中,如图3所示,所述S106包括以下步骤S1061-S1063。
S1061,根据所述灰度应用的信息以及需启用的IP数量确定所述灰度应用需新增的容器实例所在的宿主机。
具体地,根据灰度应用的信息确定灰度应用需新增的容器实例所在的区域,根据需启用的IP数量从所述区域中确定相同数量的需新增的灰度应用的容器实例的宿主机(宿主机IP)。其中,宿主机的数量与新增的容器实例的数量相同,新增的容器实例的数量与需启用的IP数量相同。
S1062,在所确定的宿主机上创建所述灰度应用的容器实例。
具体地,发送新建命令到编排工具,以通过编排工具推送新建命令到对应的宿主机,并通过新建命令在对应的宿主机上新建灰度应用所对应的容器实例。其中,新建命令中包括有灰度应用的应用镜像等信息。
需要注意的是,不同区域的编排工具是不同的,根据灰度所在的区域确定所需要使用的编排工具。如此,编排工具与灰度应用所在的区域相同,也与新增灰度应用的容器实例的宿主机所在的区域相同,提高了新增容器实例的速度。将新建命令发送到所需要使用的编排工具上,以通过编排工具推送新建命令到对应的宿主机,并在对应的宿主机上创建灰度应用所对应的容器实例,将所创建的灰度应用的容器实例作为灰度应用新增的容器实例。
S1063,将需启用的IP分配给所述灰度应用新创建的容器实例。
具体地,通过运维工具如ansible工具去连接容器实例,将所创建的容器实例与需启用的IP进行绑定。
以下举例对本实施例的方案进行简单的说明。如原应用的容器实例数量为8个,灰度应用的容器实例数量为1个(假设该1个容器实例为默认创建的容器实例)。将原应用的容器实例的IP和灰度应用的容器实例的IP作为预设IP地址池,设置原应用的容器实例和灰度应用的容器实例共享该预设IP地址池,预设IP地址池中的IP数量为9个。若第一预设数量为3个,那么从原应用的容器实例IP中确定3个IP地址,销毁该3个IP地址所对应的容器实例,并将该3个IP地址回收到预设IP地址池。确定第二预设数量(小于或者等于第一预设数量),第二预设数量可以为1、或者2或者3。若第二预设数量为3个,那么可理解为所有回收的IP将被重新利用。新增3个灰度应用的容器实例,将3个回收的IP分配给3个灰度应用的容器实例。如此,也可以简单理解为将该原应用的3个容器实例以及容器实例IP切换到灰度应用。如此,用户访问时不发生任何改变,通过同一个网址或者域名(访问原应用的访问域名)即可访问5个原应用的容器实例和新增的3个灰度应用的容器实例,即通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。需要指出的是,用户通过原应用的访问域名访问时不会访问到灰度应用默认创建的容器实例,即不会访问灰度应用的原容器实例。
上述方法实施例停用原应用的容器实例,以及该容器实例IP,新增灰度应用的容器实例,通过原应用和灰度应用的容器实例共享的预设IP地址池,从预设IP地址池中获取停用的容器实例IP,并从所停用的容器实例IP中确定第二预设数量的IP,将第二预设数量的IP分配给灰度应用新增的容器实例。如此,实现了将停用的原应用的容器实例以及容器实例IP切换到灰度应用。在该实施例中,无需修改原应用的配置文件(配置文件的容器实例IP仍然是原来的IP,但是该IP所对应的应用包括原应用和灰度应用),也无需修改原应用所对应的负载均衡应用的域名,用户使用原应用的所对应的域名和网址,即用户使用同一个域名或者同一个网址,既可访问原应用,又可访问灰度应用,可方便的进行灰度应用的测试。另外,本申请实施例中将停用的原应用的容器实例以及容器实例IP切换到灰度应用的切换速度非常快,可达到秒级的切换,提高了切换容器容器以及容器实例IP的效率和速度。
在一实施例中,该容器实例IP切换方法可只包括步骤S101、S103-S106。如此,对应的,预设IP地址池中的IP理解为包括停用的原应用的容器实例的IP,需要注意的是,预设IP地址池中的IP是专属于该应用的IP。该预设IP地址池中的IP只可供该应用使用,如该原应用和灰度应用使用。如此,回收的原应用的容器实例的IP不会被空闲IP地址池回收。
若灰度应用完成了测试,将灰度应用发布到生产环境,上述所述的实施例同样应用于该种情况。那么可以理解为,有一部分的用户适用于灰度应用的版本,有一部分的用户仍然适用于原应用的版本。
在一实施例中,可通过修改原应用所对应的负载均衡应用的配置文件,以对用户的访问进行控制。具体地,如图1所示,该实施例还包括步骤S107-S108。
S107,若接收到访问控制修改指令,获取所述原应用的负载均衡应用,并检测所述原应用的负载均衡应用的类型。
其中,原应用的负载均衡应用的类型包括F5、LVS、Haproxy、Nginx等。原应用的负载均衡应用的类型可以在PaaS平台数据库中获取。
S108,根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码,所述访问控制配置代码用于根据用户访问请求确定用户类型,并根据所述应用类型确定将该用户访问请求切换至所述原应用或所述灰度应用。
其中,F5负载均衡应用是硬负载均衡应用,是在具体的F5设备上创建的,而LVS、Haproxy、Nginx负载均衡应用是软负载均衡应用,因此F5负载均衡应用和LVS、Haproxy、Nginx负载均衡应用获取配置文件的方式、对配置文件修改的方式以及使配置文件生效的方式不同。
在一实施例中,步骤S108包括:若所述负载均衡应用的类型为F5,根据所述原应用确定F5负载均衡应用所在的F5设备;在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中加入访问控制配置代码。若所述负载均衡应用的类型为非F5,根据所述原应用确定对应的负载均衡应用的容器,其中非F5负载均衡应用为LVS负载均衡应用、Haproxy负载均衡应用或Nginx负载均衡应用;从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地;在所述配置文件中加入访问控制配置代码;将加入了访问控制配置代码的配置文件推送至对应的负载均衡应用的容器中;重启对应额负载均衡应用的容器的负载均衡服务,以使得加入访问控制配置代码的配置文件生效。
其中,若所述负载均衡应用的类型为非F5,根据原应用确定所对应的负载均衡应用的容器,并从所述负载均衡应用的容器中获取所述负载均衡应用的配置文件;将所获取的配置文件下载到本地的一个预设目录。需要注意的是,将所获取的配置文件下载到本地,以对配置文件进行修改,而不是直接远程在所述负载均衡应用的容器上进行修改,是考虑到若在对配置文件进行修改的过程中,网络出现中断,那么改写的过程也会出现中断,即排除远程改写的过程中出现的意外情况对改写造成的影响,另一方面,在本地改写配置文件比在远程改写配置文件的速度要快。其中,重启LVS负载均衡应用或者Haproxy负载均衡应用或者Nginx负载均衡应用的服务,可以用restart命令重启所对应的负载均衡应用的服务。
其中,访问控制配置代码可实现如下所例举的功能,但是需要提出的是,以下例举的功能只是示例,本申请实施例中的访问控制配置代码还可以实现其他的功能。
如访问控制配置代码可实现:根据用户访问请求的用户信息判断该用户是否为新用户或者VIP用户;若该用户为新用户或者VIP用户,将该用户访问请求切换至灰度应用,即为该用户分配灰度应用所对应的IP地址,以通过该IP地址所对应的容器实例为用户提供服务;若该用户不为新用户或者VIP用户,将该用户访问请求切换至原应用,即为该用户分配原应用所对应的IP地址,以通过该IP地址所对应的容器为用户提供服务。可以理解为VIP用户和新用户使用灰度应用,普通用户使用原应用。
如访问控制配置代码可实现:根据用户访问请求的IP信息确定用户是移动用户、联通用户、电信用户,若用户为移动用户,将该用户访问请求切换至灰度应用,若用户为联通用户或者电信用户,将该用户访问请求切换至原应用。可以理解为,为移动用户所提供服务是不同于联通用户和电信用户的,或者也可以理解为,为移动用户新增了某些功能,但是联通用户和电信用户没必要新增所对应的功能。
该实施例可灵活的实现访问控制。可根据用户类型确定将用户访问请求切换至灰度应用还是原应用,实现了灰度应用和原应用的访问控制,提高了用户体验。
在一实施例中,如图4所示,所述容器实例IP切换方法包括S201-S210。其中,步骤S203-S210与图1实施例中的步骤S101-S108相对应,具体请参看图1实施例中的描述,下面将具体介绍S201-S202。
S201,克隆原应用,并在克隆的原应用版本的基础上,添加新功能或者改进功能所对应的代码,以生成灰度应用镜像。
克隆原应用,包括克隆原应用的代码,原应用所对应的配置文件、系统文件、分配的内存和CPU个数等等。克隆原版本的应用,以得到一个与原应用完全相同的应用。在该克隆的原应用版本的基础上,添加新功能或者改进功能所对应的代码,以生成灰度应用镜像。
S202,根据所述原应用的容器实例的创建区域以及所述灰度应用镜像,在测试环境下所述区域中创建灰度应用的容器实例,所述灰度应用的容器实例包括所述灰度应用的容器实例IP和容器实例数量。
需要注意的是,原应用是可以对外提供服务的,因此原应用已经创建了对应的容器实例以及原应用所对应的负载均衡应用。如此,可获取原应用容器实例的创建区域,其中,创建区域指的是所创建的容器实例的机房位置等。在灰度应用通过简单测试(如开发人员的简单测试)后,将灰度应用推送到测试环境下与原应用容器实例创建区域相同区域下的灰度应用所对应的镜像仓库中。需要注意的是,每个不同的机房中会对应有不同应用环境的镜像仓库,如开发环境(该应用的容器实例创建成功后供内部开发使用)、生产环境(意味着该应用的容器实例创建成功后对接外部环境,或者供外部用户进行访问)、测试环境(意味着该应用的容器实例创建成功后供测试使用)。在创建灰度应用的容器实例时,可根据设置灰度应用容器实例数量(如果不进行设置,那么会使用默认的值,默认的值为1,即默认的灰度应用容器实例数量为1)并从对应镜像仓库中选择的灰度应用镜像,在所述区域创建对应数量的容器实例,并为所创建的容器实例分配相同数量的容器实例IP。
另外,若在创建灰度应用的容器实例的过程中,选择了创建负载均衡应用,那么会在创建灰度应用的容器实例的同时创建灰度应用所对应的负载均衡应用,并设置所创建的灰度应用和所创建的负载均衡应用的关联关系,同时会自动生成所创建的负载均衡应用的配置文件以及负载均衡应用所对应的域名。若在创建灰度应用的容器实例的过程中,没有选择创建负载均衡应用,那么在灰度应用的容器实例创建完成后,会为该灰度应用创建负载均衡应用。创建该灰度应用的负载均衡应用时会自动生成所创建的负载均衡应用的配置文件以及负载均衡应用所对应的域名。
该实施例进一步限定如何创建灰度应用的容器实例。
图5是本申请实施例提供的容器实例IP切换装置的示意性框图。该装置包括用于执行上述容器实例IP切换方法所对应的单元。具体地,如图5所示,该装置100包括IP获取单元101、地址池确定单元102、停用IP确定单元103、停用单元104、启用IP确定单元105、启用单元106。
IP获取单元101,用于获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用的信息包括灰度应用的容器实例IP,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用。
地址池确定单元102,用于将所述原应用的容器实例IP和灰度应用的容器实例IP作为预设IP地址池。
停用IP确定单元103,用于根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量。
停用单元104,用于停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池。
在一实施例中,如图6所示,停用单元104包括:IP状态设置单元1041、销毁单元1042、回收单元1043、数量修改单元1044。其中,IP状态设置单元1041,用于设置所确定的第一预设数量的IP的使用状态标识为停用状态。销毁单元1042,用于销毁所述第一预设数量的IP所对应的容器实例。回收单元1043,用于回收使用状态标识为停用状态的IP到预设IP地址池。数量修改单元1044,用于根据所述第一预设数量修改所述原应用的容器实例数量。
启用IP确定单元105,用于根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量。
启用单元106,用于根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
在一实施例中,如图7所示,启用单元106包括宿主机确定单元1061、创建单元1062、分配启用单元1063。其中,宿主机确定单元1061,用于根据所述灰度应用的信息以及需启用的IP数量确定所述灰度应用需新增的容器实例所在的宿主机。创建单元1062,用于在所确定的宿主机上创建所述灰度应用的容器实例。分配启用单元1063,用于将需启用的IP分配给所述灰度应用新创建的容器实例。
在一实施例中,该容器实例IP切换装置100可只包括IP获取单元101、停用IP确定单元103、停用单元104、启用IP确定单元105、启用单元106。
在一实施例中,如图5所示,所述容器实例IP切换装置100还包括负载类型确定单元107、控制配置单元108。其中,
负载类型确定单元107,用于若接收到访问控制修改指令,获取所述原应用的负载均衡应用,并检测所述原应用的负载均衡应用的类型。
控制配置单元108,用于根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码,所述访问控制配置代码用于根据用户访问请求确定用户类型,并根据所述用户类型确定将该用户访问请求切换至所述原应用或所述灰度应用。
在一实施例中,控制配置单元108包括设备确定单元、配置代码加入单元、容器确定单元、配置下载单元、推送单元以及重启单元。其中,设备确定单元,用于若所述负载均衡应用的类型为F5,根据所述原应用确定F5负载均衡应用所在的F5设备;配置代码加入单元,用于在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中加入访问控制配置代码。容器确定单元,用于若所述负载均衡应用的类型为非F5,根据所述原应用确定对应的负载均衡应用的容器,其中非F5负载均衡应用为LVS负载均衡应用、Haproxy负载均衡应用或Nginx负载均衡应用;配置下载单元,用于从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地;配置代码加入单元,还用于在所述配置文件中加入访问控制配置代码;推送单元,用于将加入了访问控制配置代码的配置文件推送至对应的负载均衡应用的容器中;重启单元,用于重启对应额负载均衡应用的容器的负载均衡服务,以使得加入访问控制配置代码的配置文件生效。
在一实施例中,所述容器实例IP切换装置还包括:灰度镜像生成单元、灰度应用创建单元。其中,灰度镜像生成单元,用于克隆原应用,并在克隆的原应用版本的基础上,添加新功能或者改进功能所对应的代码,以生成灰度应用镜像。灰度应用创建单元,用于根据所述原应用的容器实例的创建区域以及所述灰度应用镜像,在测试环境下所述区域中创建灰度应用的容器实例,所述灰度应用的容器实例包括所述灰度应用的容器实例IP和容器实例数量。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图8所示的计算机设备上运行。
图8为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备200包括通过系统总线201连接的处理器202、存储器和网络接口203,其中,存储器可以包括非易失性存储介质204和内存储器205。
该非易失性存储介质204可存储操作系统2041和计算机程序2042。该非易失性存储介质中所存储的计算机程序2042被处理器202执行时,可实现上述所述的容器实例IP切换方法。该处理器202用于提供计算和控制能力,支撑整个设备200的运行。该内存储器205为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器202执行时,可使得处理器202执行上述所述的容器实例IP切换方法。该网络接口203用于进行网络通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器202用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用;根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量;停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池;根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量;根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
在一实施例中,所述处理器202在执行所述停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例的步骤时,具体实现如下步骤:
设置所确定的第一预设数量的IP的使用状态标识为停用状态;销毁所述第一预设数量的IP所对应的容器实例;回收使用状态标识为停用状态的IP到预设IP地址池;根据所述第一预设数量修改所述原应用的容器实例数量。
在一实施例中,所述处理器202在执行所述根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例的步骤时,具体实现如下步骤:
根据所述灰度应用的信息以及需启用的IP数量确定所述灰度应用需新增的容器实例所在的宿主机;在所确定的宿主机上创建所述灰度应用的容器实例;将需启用的IP分配给所述灰度应用新创建的容器实例。
在一实施例中,所述处理器202在执行所述在所确定的宿主机上创建所述灰度应用的容器实例的步骤时,具体实现如下步骤:
发送新建命令到编排工具,以通过所述编排工具推送所述新建命令到所确定的宿主机,并通过所述新建命令在对应的宿主机上创建所述灰度应用所对应的容器实例。
在一实施例中,所述处理器202在执行所述获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息的步骤之前,还实现如下步骤:
克隆原应用,并在克隆的原应用版本的基础上,添加新功能或者改进功能所对应的代码,以生成灰度应用镜像;根据所述原应用的容器实例的创建区域以及所述灰度应用镜像,在测试环境下所述区域中创建灰度应用的容器实例,所述灰度应用的容器实例包括所述灰度应用的容器实例IP和容器实例数量。
在一实施例中,所述处理器202还实现如下步骤:
若接收到访问控制修改指令,获取所述原应用的负载均衡应用,并检测所述原应用的负载均衡应用的类型;根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码,所述访问控制配置代码用于根据用户访问请求确定用户类型,并根据所述用户类型确定将该用户访问请求切换至所述原应用或所述灰度应用。
在一实施例中,所述处理器202在执行所述根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码的步骤时,具体实现如下步骤:
若所述负载均衡应用的类型为F5,根据所述原应用确定F5负载均衡应用所在的F5设备;在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中加入访问控制配置代码;若所述负载均衡应用的类型为非F5,根据所述原应用确定对应的负载均衡应用的容器,其中非F5负载均衡应用为LVS负载均衡应用、Haproxy负载均衡应用或Nginx负载均衡应用;从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地;在所述配置文件中加入访问控制配置代码;将加入了访问控制配置代码的配置文件推送至对应的负载均衡应用的容器中;重启对应额负载均衡应用的容器的负载均衡服务,以使得加入访问控制配置代码的配置文件生效。
应当理解,在本申请实施例中,所称处理器202可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(应用程序lication Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质,该计算机可读存储介质包括非易失性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现以下步骤:
获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用;根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量;停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池;根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量;根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
在一实施例中,所述处理器在执行所述停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例的步骤时,具体实现如下步骤:
设置所确定的第一预设数量的IP的使用状态标识为停用状态;销毁所述第一预设数量的IP所对应的容器实例;回收使用状态标识为停用状态的IP到预设IP地址池;根据所述第一预设数量修改所述原应用的容器实例数量。
在一实施例中,所述处理器在执行所述根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例的步骤时,具体实现如下步骤:
根据所述灰度应用的信息以及需启用的IP数量确定所述灰度应用需新增的容器实例所在的宿主机;在所确定的宿主机上创建所述灰度应用的容器实例;将需启用的IP分配给所述灰度应用新创建的容器实例。
在一实施例中,所述处理器在执行所述在所确定的宿主机上创建所述灰度应用的容器实例的步骤时,具体实现如下步骤:
发送新建命令到编排工具,以通过所述编排工具推送所述新建命令到所确定的宿主机,并通过所述新建命令在对应的宿主机上创建所述灰度应用所对应的容器实例。
在一实施例中,所述处理器在执行所述获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息的步骤之前,还实现如下步骤:
克隆原应用,并在克隆的原应用版本的基础上,添加新功能或者改进功能所对应的代码,以生成灰度应用镜像;根据所述原应用的容器实例的创建区域以及所述灰度应用镜像,在测试环境下所述区域中创建灰度应用的容器实例,所述灰度应用的容器实例包括所述灰度应用的容器实例IP和容器实例数量。
在一实施例中,所述处理器还实现如下步骤:
若接收到访问控制修改指令,获取所述原应用的负载均衡应用,并检测所述原应用的负载均衡应用的类型;根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码,所述访问控制配置代码用于根据用户访问请求确定用户类型,并根据所述用户类型确定将该用户访问请求切换至所述原应用或所述灰度应用。
在一实施例中,所述处理器所述根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码的步骤时,具体实现如下步骤:
若所述负载均衡应用的类型为F5,根据所述原应用确定F5负载均衡应用所在的F5设备;在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中加入访问控制配置代码;若所述负载均衡应用的类型为非F5,根据所述原应用确定对应的负载均衡应用的容器,其中非F5负载均衡应用为LVS负载均衡应用、Haproxy负载均衡应用或Nginx负载均衡应用;从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地;在所述配置文件中加入访问控制配置代码;将加入了访问控制配置代码的配置文件推送至对应的负载均衡应用的容器中;重启对应额负载均衡应用的容器的负载均衡服务,以使得加入访问控制配置代码的配置文件生效。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种容器实例IP切换方法,其特征在于,所述方法包括:
获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用;
根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量;
停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池;
根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量;
根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
2.根据权利要求1所述的方法,其特征在于,所述停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,包括:
设置所确定的第一预设数量的IP的使用状态标识为停用状态;
销毁所述第一预设数量的IP所对应的容器实例;
回收使用状态标识为停用状态的IP到预设IP地址池;
根据所述第一预设数量修改所述原应用的容器实例数量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,包括:
根据所述灰度应用的信息以及需启用的IP数量确定所述灰度应用需新增的容器实例所在的宿主机;
在所确定的宿主机上创建所述灰度应用的容器实例;
将需启用的IP分配给所述灰度应用新创建的容器实例。
4.根据权利要求3所述的方法,其特征在于,所述在所确定的宿主机上创建所述灰度应用的容器实例,包括:
发送新建命令到编排工具,以通过所述编排工具推送所述新建命令到所确定的宿主机,并通过所述新建命令在对应的宿主机上创建所述灰度应用所对应的容器实例。
5.根据权利要求1所述的方法,其特征在于,在所述获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息之前,所述方法还包括:
克隆原应用,并在克隆的原应用版本的基础上,添加新功能或者改进功能所对应的代码,以生成灰度应用镜像;
根据所述原应用的容器实例的创建区域以及所述灰度应用镜像,在测试环境下所述区域中创建灰度应用的容器实例,所述灰度应用的容器实例包括所述灰度应用的容器实例IP和容器实例数量。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到访问控制修改指令,获取所述原应用的负载均衡应用,并检测所述原应用的负载均衡应用的类型;
根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码,所述访问控制配置代码用于根据用户访问请求确定用户类型,并根据所述用户类型确定将该用户访问请求切换至所述原应用或所述灰度应用。
7.根据权利要求6所述的方法,其特征在于,所述根据所述原应用的负载均衡应用的类型,通过与所述类型相匹配的方式获取所述负载均衡应用的配置文件并在所述配置文件中加入访问控制配置代码,包括:
若所述负载均衡应用的类型为F5,根据所述原应用确定F5负载均衡应用所在的F5设备;
在所述F5设备上获取所述F5负载均衡应用的配置文件,并在所述配置文件中加入访问控制配置代码;
若所述负载均衡应用的类型为非F5,根据所述原应用确定对应的负载均衡应用的容器,其中非F5负载均衡应用为LVS负载均衡应用、Haproxy负载均衡应用或Nginx负载均衡应用;
从对应的负载均衡应用的容器中获取配置文件,将所获取的配置文件下载到本地;
在所述配置文件中加入访问控制配置代码;
将加入了访问控制配置代码的配置文件推送至对应的负载均衡应用的容器中;
重启对应额负载均衡应用的容器的负载均衡服务,以使得加入访问控制配置代码的配置文件生效。
8.一种容器实例IP切换装置,其特征在于,所述容器实例IP切换装置包括:
IP获取单元,用于获取原应用的容器实例IP和容器实例数量,以及灰度应用的信息,其中,所述灰度应用是在所述原应用的版本上添加新功能或者改进功能之后所生成的应用;
停用IP确定单元,用于根据第一预设规则从所述原应用的容器实例IP中确定第一预设数量的IP,其中,所述第一预设数量小于所述原应用的容器实例数量;
停用单元,用于停用所确定的第一预设数量的IP以及所述第一预设数量的IP所对应的容器实例,其中,所停用的所述第一预设数量的IP被回收到预设IP地址池;
启用IP确定单元,用于根据第二预设规则从预设IP地址池所停用的原应用的容器实例IP中确定第二预设数量的需启用的IP,其中,所述第二预设数量小于或者等于所停用的IP数量;
启用单元,用于根据所述灰度应用的信息将需启用的IP分配给所述灰度应用新增的容器实例,从而通过原应用的访问域名既可以访问原应用,也可以访问灰度应用。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
CN201910413829.7A 2019-05-17 2019-05-17 容器实例ip切换方法、装置、计算机设备及存储介质 Active CN110286996B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910413829.7A CN110286996B (zh) 2019-05-17 2019-05-17 容器实例ip切换方法、装置、计算机设备及存储介质
PCT/CN2019/117360 WO2020233002A1 (zh) 2019-05-17 2019-11-12 容器实例ip切换方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910413829.7A CN110286996B (zh) 2019-05-17 2019-05-17 容器实例ip切换方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110286996A true CN110286996A (zh) 2019-09-27
CN110286996B CN110286996B (zh) 2023-08-18

Family

ID=68002095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910413829.7A Active CN110286996B (zh) 2019-05-17 2019-05-17 容器实例ip切换方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN110286996B (zh)
WO (1) WO2020233002A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020233002A1 (zh) * 2019-05-17 2020-11-26 平安科技(深圳)有限公司 容器实例ip切换方法、装置、计算机设备及存储介质
CN116132366A (zh) * 2022-07-01 2023-05-16 马上消费金融股份有限公司 流量管理方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113766043B (zh) * 2021-05-11 2024-02-23 腾讯科技(深圳)有限公司 配置目标容器的方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734174B1 (en) * 2013-06-28 2017-08-15 Google Inc. Interactive management of distributed objects
US20180167464A1 (en) * 2016-12-14 2018-06-14 International Business Machines Corporation Systems and methods to anonymize web browsing
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109032755A (zh) * 2018-06-29 2018-12-18 优刻得科技股份有限公司 一种容器服务托管系统及提供容器服务的方法
CN109343963A (zh) * 2018-10-30 2019-02-15 杭州数梦工场科技有限公司 一种容器集群的应用访问方法、装置及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170199770A1 (en) * 2014-06-23 2017-07-13 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
CN110225094B (zh) * 2019-05-17 2022-02-11 平安科技(深圳)有限公司 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质
CN110286996B (zh) * 2019-05-17 2023-08-18 平安科技(深圳)有限公司 容器实例ip切换方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734174B1 (en) * 2013-06-28 2017-08-15 Google Inc. Interactive management of distributed objects
US20180167464A1 (en) * 2016-12-14 2018-06-14 International Business Machines Corporation Systems and methods to anonymize web browsing
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109032755A (zh) * 2018-06-29 2018-12-18 优刻得科技股份有限公司 一种容器服务托管系统及提供容器服务的方法
CN109343963A (zh) * 2018-10-30 2019-02-15 杭州数梦工场科技有限公司 一种容器集群的应用访问方法、装置及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020233002A1 (zh) * 2019-05-17 2020-11-26 平安科技(深圳)有限公司 容器实例ip切换方法、装置、计算机设备及存储介质
CN116132366A (zh) * 2022-07-01 2023-05-16 马上消费金融股份有限公司 流量管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2020233002A1 (zh) 2020-11-26
CN110286996B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
US10884802B2 (en) Message-based computation request scheduling
US10248467B2 (en) Code execution request routing
US9715402B2 (en) Dynamic code deployment and versioning
US20210406079A1 (en) Persistent Non-Homogeneous Worker Pools
US10601680B2 (en) Application resiliency using APIs
CN110286996A (zh) 容器实例ip切换方法、装置、计算机设备及存储介质
US8949848B2 (en) Reducing usage of resource utilized by a virtual machine whose resource utilization is adversely affecting neighboring virtual machines
CN110225094A (zh) 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质
US9928059B1 (en) Automated deployment of a multi-version application in a network-based computing environment
US20140068600A1 (en) Providing a seamless transition for resizing virtual machines from a development environment to a production environment
US9021096B2 (en) Performing maintenance operations on cloud computing node without requiring to stop all virtual machines in the node
CN108572795A (zh) 基于搭建存储虚拟化的扩容方法、装置、设备和存储介质
CN110289983A (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
CN108509209A (zh) 一种资源包的生成方法、装置、计算机设备及存储介质
CN109800367A (zh) 网页加载方法、装置、计算机设备及存储介质
US20190146805A1 (en) Rebooting timing adjustment for improved performance
CN110275776A (zh) 容器应用的缩容方法、装置、计算机设备及存储介质
CN106155746B (zh) 一种安装文件处理方法及装置、服务器
CN108108490B (zh) Hive表扫描方法、装置、计算机设备及存储介质
CN110262873A (zh) 容器应用的配置修改方法、装置、计算机设备及存储介质
CN110417856B (zh) 多活负载均衡应用的扩容方法、装置、设备及存储介质
US11870706B2 (en) Method and system for allocating and managing cloud resources
CN114662102A (zh) 一种文件处理方法、装置及存储介质
CN110290172A (zh) 容器应用克隆方法、装置、计算机设备及存储介质
CN105138346B (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
GR01 Patent grant
GR01 Patent grant