CN108282507B - 在CaaS环境中进行应用发布的方法、装置以及电子设备 - Google Patents
在CaaS环境中进行应用发布的方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN108282507B CN108282507B CN201710011109.9A CN201710011109A CN108282507B CN 108282507 B CN108282507 B CN 108282507B CN 201710011109 A CN201710011109 A CN 201710011109A CN 108282507 B CN108282507 B CN 108282507B
- Authority
- CN
- China
- Prior art keywords
- container
- application
- routing
- node
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种在CaaS环境中进行应用发布的方法,包括:在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;针对所述待发布应用执行发布确认操作。所述在CaaS环境中进行应用发布的方法,在CaaS环境中通过权重的方式实现不同容器之间的路由切换,在此基础上实现应用的发布,实现简单方便;并且能够结合应用的部署和启动,以及容器间的路由切换,实现更为自动化的应用发布,更加全面,适用的场景更多。
Description
技术领域
本申请涉及虚拟化技术领域,具体涉及一种在CaaS环境中进行应用发布的方法。本申请同时涉及一种在CaaS环境中进行应用发布的装置,以及一种电子设备。
背景技术
CaaS(Communications as a Service,通讯即服务)将传统电信的能力如消息、语音、视频、会议、通信协同等封装成API或者SDK通过互联网对外开放,提供给第三方企业或者开发者使用,将电信能力真正作为服务对外提供。容器服务作为一种高性能的容器管理服务,支持在一组云服务器上通过Docker容器来部署或编排应用,云计算平台的用户不再需要安装、运维、扩展自己的集群管理基础设施,而是可以直接通过云计算平台的控制台图形化界面或者API进行容器操作和生命周期管理。例如,阿里云的容器服务整合了SLB(Server Load Balancing,负载均衡)、VPC(Virtual Private Cloud,专有网络)等云产品,为云应用部署与运维场景提供丰富的一站式功能支持。
容器服务的一个重要议题是如何发布应用,常见的发布策略有蓝绿发布、灰度发布)和ABTest,其中尤为重要的是蓝绿发布,蓝绿发布是一种平滑的发布方式,发布过程中用户无法感知服务的重启,通常情况下是通过新旧版本并存的方式实现,也就是在发布流程中,新版本和旧版本是相互热备的,通过切换路由权重的方式(非0即100)实现应用的新版本和旧版本的上线或者下线,蓝绿发布可以保证整体***的稳定,在初始的时候就可以发现、调整问题,以保证其影响度。
目前,基于IaaS的场景下的蓝绿发布策略,通常会通过负载均衡器以手动的方式进行权重的切换从而实现蓝绿发布,或者通过封装API的方式实现自动化的蓝绿发布。但是在CaaS的场景下,蓝绿发布面临了非常大的挑战,因为容器化应用后,会面临在容器集群中扩缩容、失败迁移等等的场景,常见的CaaS场景下通过切换路由权重进行应用发布的方式无法满足CaaS下的复杂场景。综上所述,有必要提供一种在CaaS环境中进行应用发布的方法以解决上述问题。
发明内容
本申请提供一种在CaaS环境中进行应用发布的方法,以解决现有技术无法满足CaaS下的复杂场景的问题。
本申请同时涉及一种在CaaS环境中进行应用发布的装置,以及一种电子设备。
本申请提供一种在CaaS环境中进行应用发布的方法,包括:
在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
针对所述待发布应用执行发布确认操作。
可选的,所述第二容器位于所述容器集群当中所述第一容器所在的节点上。
可选的,所述在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动步骤执行后,且所述通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重步骤执行前,执行下述步骤:
针对所述容器集群当中运行所述第二容器的每一个节点,执行如下操作:
通过当前节点上预设的代理模块向预先设置的服务发现模块注册当前节点上运行的所述第二容器的状态信息。
可选的,所述状态信息中至少包含所述路由权重。
可选的,所述通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重,采用如下方式实现:
针对所述第一容器和所述第二容器所在的每一个节点,执行下述步骤:
当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重。
可选的,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0;并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100。
可选的,所述针对所述待发布应用执行发布确认操作步骤,包括:
删除所述待发布应用的所述原应用实例。
可选的,所述原应用实例对应所述待发布应用的旧版本,所述新应用实例对应所述待发布应用的新版本。
可选的,所述在CaaS环境中进行应用发布的方法,包括:
预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。
可选的,所述预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块步骤执行后,执行下述步骤:
所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。
可选的,所述容器集群当中节点上设置的所有负载均衡模块监听同一个服务发现模块当中存储的路由信息;相应的,所述容器集群当中任意一个节点上设置的负载均衡模块能够负载到所述容器集群当中所有节点上容器内运行的应用实例上。
本申请还提供一种在CaaS环境中进行应用发布的装置,包括:
新应用实例创建启动单元,用于在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
路由权重切换单元,用于通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
发布确认操作执行单元,用于针对所述待发布应用执行发布确认操作。
可选的,所述在CaaS环境中进行应用发布的装置,包括:
第一路由单元,用于通过预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。
可选的,所述在CaaS环境中进行应用发布的装置,包括:
第二路由单元,用于通过所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。
本申请另外提供一种电子设备,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
针对所述待发布应用执行发布确认操作。
与现有技术相比,本申请具有以下优点:
本申请提供的在CaaS环境中进行应用发布的方法,包括:在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;针对所述待发布应用执行发布确认操作。
本申请提供的所述在CaaS环境中进行应用发布的方法,基于容器集群当中节点上运行的容器创建待发布应用的新应用实例,并在创建完成后启动新创建的所述新应用实例,针对容器集群当中节点上运行所述待发布应用的原应用实例的第一容器和运行所述新应用实例的第二容器,通过权重的方式实现所述第一容器和所述第二容器之间的路由切换,并在路由切换后对所述待发布应用进行发布确认,实现所述待发布应用的发布。所述在CaaS环境中进行应用发布的方法,在CaaS环境中通过权重的方式实现不同容器之间的路由切换,在此基础上实现应用的发布,实现简单方便;并且能够结合应用的部署和启动,以及容器间的路由切换,实现更为自动化的应用发布,更加全面,适用的场景更多。
附图说明
附图1是本申请提供的一种在CaaS环境中进行应用发布的方法实施例的处理流程图;
附图2是本申请提供的第一种容器集群的示意图;
附图3是本申请提供的第二种容器集群的示意图;
附图4是本申请提供的第三种容器集群的示意图;
附图5是本申请提供的一种在CaaS环境中进行应用发布的装置实施例的示意图;
附图6是本申请提供的一种电子设备实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种在CaaS环境中进行应用发布的方法,本申请还提供一种在CaaS环境中进行应用发布的装置,以及一种电子设备。以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供的一种在CaaS环境中进行应用发布的方法实施例如下:
参照附图1,其示出了本申请提供的一种在CaaS环境中进行应用发布的方法实施例的处理流程图,参照附图2,其示出了本申请提供的第一种容器集群的示意图;参照附图3,其示出了本申请提供的第二种容器集群的示意图;参照附图4,其示出了本申请提供的第三种容器集群的示意图。此外,本申请提供的所述在CaaS环境中进行应用发布的方法实施例的各个步骤之间的关系,请根据附图1确定。
步骤S101,在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动。
本申请实施例以目前常用的蓝绿发布为例,说明在CaaS环境中实现的应用发布,蓝绿发布在CaaS环境中部署的最小维度是容器,而发布的最小维度是应用,简单来讲,蓝绿发布是一个应用级别的更新操作,你可以对一个应用进行两个版本之间的切换,比如一个应用的旧版本不变,新版本进行部署,通过操作旧版本和新版本应用的路由,从而实现该应用两个版本之间的切换,并最终将旧版本下线、新版本上线。并且,在CaaS环境中实现的蓝绿发布,在CaaS环境中分发的最小单元是镜像,而镜像可以在不同的软件环境中启动,无需依赖底层软件环境,从而能够兼容各种软件环境。
本申请实施例所述容器集群,是指在CaaS环境中由至少一台虚拟机组成的集群,所述容器集群当中的虚拟机作为运行容器的节点,所述待发布应用运行在所述虚拟机上运行的容器内。例如,如附图2所示,其示出的容器集群当中包含VM1(虚拟机1,即节点1)和VM2(虚拟机2,即节点2),VM1上的2个容器(Docker容器)内分别运行应用A的实例1和实例2,VM2上的容器(Docker容器)内运行应用A的实例3。
在具体实施时,所述容器集群当中节点的负载均衡基于预先设置的集群负载均衡模块来实现,所述负载均衡模块用于将用户发送的负载请求负载到所述容器集群当中的虚拟机上,并且,所述容器集群当中的每一台虚拟机上设置并启动着负载均衡模块,由所述集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。此外,在所述容器集群当中的任意一个节点内部,该节点上容器级别的负载均衡通过其上设置的所述负载均衡模块来实现,由所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。例如,如附图2所示,由SLB(集群负载均衡模块)将其接收到的负载请求1和负载请求2分别发送至容器集群当中VM1上的HAProxy(负载均衡模块)和VM2上的HAProxy(负载均衡模块);VM1上设置的HAProxy在Discovery Server(服务发现模块)监听路由信息,并根据监听到的路由信息进行寻址,将负载请求1路由至VM1上的相应容器进行处理;类似的,VM2上设置的HAProxy在Discovery Server(服务发现模块)监听路由信息,并根据监听到的路由信息进行寻址,将负载请求2路由至VM2上的相应容器进行处理。
进一步,所述容器集群当中节点上设置的所有负载均衡模块均监听同一个服务发现模块当中存储的路由信息;相应的,所述容器集群当中任意一个节点上设置的负载均衡模块能够负载到所述容器集群当中所有节点上容器内运行的应用实例上。例如,如附图2所示,VM1上的HAProxy和VM2上的HAProxy监听Discovery Server的路由信息,监听到的路由信息中包含VM1和VM2上容器的路由信息,因此,VM1上的HAProxy能够负载到VM1上容器内运行的应用A的实例1和实例2上,还能够负载到VM2上容器内运行的应用A的实例3上,类似的,VM2上的HAProxy同样能够负载到VM1和VM2上容器内运行的应用A的实例1、实例2和实例3上。
本步骤在所述容器集群当中节点上运行的容器内创建所述待发布应用的新应用实例,并启动新创建的所述待发布应用的新应用实例。在具体实施时,在所述容器集群当中节点上运行的容器内创建所述待发布应用的新应用实例时,还可以在所述待发布应用的原应用实例所在的节点上创建所述待发布应用的新应用实例,即:在运行所述原应用实例的第一容器所在的节点上的容器(第二容器)内创建所述新应用实例,基于此,所述第二容器位于所述容器集群当中所述第一容器所在的节点上。例如,如附图3所示,VM1上的容器(第一容器)内运行有应用A的实例1(原应用实例1)和实例2(原应用实例2),则在VM1上的容器(第二容器)内创建应用A的新实例1(新应用实例1);VM2上的容器(第一容器)内运行有应用A的实例3(原应用实例3),则在VM2上的容器(第二容器)内创建应用A的新实例2(新应用实例2)和新实例3(新应用实例3);并启动在VM1上的容器内创建的新实例1和新实例2,以及在VM2上的容器内创建的新实例3。
在针对待发布应用的版本发布或者更新的场景中,所述原应用实例对应所述待发布应用的旧版本,所述新应用实例对应所述待发布应用的新版本。例如,如附图3所示,应用A的实例1、实例2和实例3对应的是应用A当前2.0版本,应用A的新实例1、新实例2和新实例3对应的是应用A即将更新的2.1版本或者3.0版本。
此外,在具体实施时,在本步骤执行之后,即在所述容器集群当中节点上运行的容器内创建所述待发布应用的新应用实例并启动之后,还可以执行下述步骤:
针对所述容器集群当中运行所述第二容器的每一个节点,执行如下操作:通过当前节点上预设的代理模块向预先设置的服务发现模块注册当前节点上运行的所述第二容器的状态信息。需要说明的是,所述状态信息中至少包含所述路由权重;此外,所述状态信息中还可以包含除所述路由权重之外的其他路由信息,所述待发布应用的版本信息,所述第一容器和所述第二容器的服务发现地址。例如,如附图3所示,VM1上的Agent(代理模块)向Discovery Server注册VM1上运行新创建的应用A新实例1的容器的状态信息;VM2上的Agent(代理模块)向Discovery Server注册VM2上运行新创建的应用A新实例2和新实例3的容器的状态信息。
步骤S102,通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重。
上述步骤S101在所述容器集群当中节点上运行的容器内创建所述待发布应用的新应用实例,并启动新创建的所述新应用实例,本步骤在上述步骤S101的基础上,通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重,其中,所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内。
在具体实施时,针对所述第一容器和所述第二容器所在的每一个节点,执行下述步骤:当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重。在蓝绿发布场景中,路由权重值非0即100,因此,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0;并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100。
例如,如附图3所示,其示出的是切换之前的路由权重:在VM1上,运行应用A的实例1和实例2的容器(第一容器)的路由权重为100,运行应用A的新实例1的容器(第二容器)的路由权重为0;在VM2上,运行应用A的实例3的容器(第一容器)的路由权重为100,运行应用A的新实例2和新实例3的容器(第二容器)的路由权重为0。
如附图4所示,其示出的是切换之后的路由权重:在VM1上,运行应用A的实例1和实例2的容器(第一容器)的路由权重分别从100切换为0,运行应用A的新实例1的容器(第二容器)的路由权重从0切换为100;在VM2上,运行应用A的实例3的容器(第一容器)的路由权重从100切换为0,运行应用A的新实例2和新实例3的容器(第二容器)的路由权重分别从0切换为100。
步骤S103,针对所述待发布应用执行发布确认操作。
上述步骤S102通过所述节点上预设的所述负载均衡模块切换运行所述待发布应用的原应用实例的第一容器与运行所述新应用实例的第二容器的路由权重,在此基础上,本步骤通过针对所述待发布应用执行发布确认操作,从而实现所述待发布应用的旧版本的完全下线以及所述待发布应用的新版本的完全上线。在具体实施时,可通过删除所述待发布应用的所述原应用实例,来销毁所述待发布应用的旧版本,实现所述待发布应用的新版本的完全上线。
在实际应用中,可以采用多种具体的实现方式,实现所述发布确认操作,比如针对所述待发布应用进行发布验证,若发布验证通过,则发布所述待发布应用的新版本。实现所述发布确认操作的各种形式的变化,都只是具体实现方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。
综上所述,本申请提供的所述在CaaS环境中进行应用发布的方法,基于容器集群当中节点上运行的容器创建待发布应用的新应用实例,并在创建完成后启动新创建的所述新应用实例,针对容器集群当中节点上运行所述待发布应用的原应用实例的第一容器和运行所述新应用实例的第二容器,通过权重的方式实现所述第一容器和所述第二容器之间的路由切换,并在路由切换后对所述待发布应用进行发布确认,实现所述待发布应用的发布。所述在CaaS环境中进行应用发布的方法,在CaaS环境中通过权重的方式实现不同容器之间的路由切换,在此基础上实现应用的发布,实现简单方便;并且能够结合应用的部署和启动,以及容器间的路由切换,实现更为自动化的应用发布,更加全面,适用的场景更多。
本申请提供的一种在CaaS环境中进行应用发布的装置实施例如下:
在上述的实施例中,提供了一种在CaaS环境中进行应用发布的方法,与之相对应的,本申请还提供了一种在CaaS环境中进行应用发布的装置,下面结合附图进行说明。
参照附图5,其示出了本申请提供的一种在CaaS环境中进行应用发布的装置实施例的示意图。
由于装置实施例与上述提供的方法实施例相互对应,阅读本实施例的内容请参照上述方法实施例的对应说明。下述描述的装置实施例仅仅是示意性的。
本申请提供一种在CaaS环境中进行应用发布的装置,包括:
新应用实例创建启动单元501,用于在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
路由权重切换单元502,用于通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
发布确认操作执行单元503,用于针对所述待发布应用执行发布确认操作。
可选的,所述第二容器位于所述容器集群当中所述第一容器所在的节点上。
可选的,针对所述容器集群当中运行所述第二容器的每一个节点,运行状态信息注册单元;所述状态信息注册单元,用于通过当前节点上预设的代理模块向预先设置的服务发现模块注册当前节点上运行的所述第二容器的状态信息。
可选的,所述状态信息中至少包含所述路由权重。
可选的,所述路由权重切换单元502具体用于针对所述第一容器和所述第二容器所在的每一个节点,运行路由权重切换子单元;所述路由权重切换子单元,用于通过当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重。
可选的,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0;并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100。
可选的,所述发布确认操作执行单元503,包括:
原应用实例删除子单元,用于删除所述待发布应用的所述原应用实例。
可选的,所述原应用实例对应所述待发布应用的旧版本,所述新应用实例对应所述待发布应用的新版本。
可选的,所述在CaaS环境中进行应用发布的装置,包括:
第一路由单元,用于通过预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。
可选的,所述在CaaS环境中进行应用发布的装置,包括:
第二路由单元,用于通过所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。
可选的,所述容器集群当中节点上设置的所有负载均衡模块监听同一个服务发现模块当中存储的路由信息;相应的,所述容器集群当中任意一个节点上设置的负载均衡模块能够负载到所述容器集群当中所有节点上容器内运行的应用实例上。
本申请提供的一种电子设备实施例如下:
在上述的实施例中,提供了一种在CaaS环境中进行应用发布的方法,此外,本申请还提供了一种用于实现所述在CaaS环境中进行应用发布的方法的电子设备,下面结合附图进行说明。
参照附图6,其示出了本实施例提供的一种电子设备的示意图。
本申请提供的所述电子设备用于实现本申请提供的在CaaS环境中进行应用发布的方法,本实施例与上述提供的在CaaS环境中进行应用发布的方法实施例相对应,阅读本实施例的内容请参照上述提供的在CaaS环境中进行应用发布的方法实施例的对应说明。下述描述的实施例仅仅是示意性的。
本申请提供一种电子设备,包括:
存储器601,以及处理器602;
所述存储器601用于存储计算机可执行指令,所述处理器602用于执行所述计算机可执行指令:
在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
针对所述待发布应用执行发布确认操作。
可选的,所述第二容器位于所述容器集群当中所述第一容器所在的节点上。
可选的,所述在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动指令执行后,且所述通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重指令执行前,所述处理器602还用于执行下述计算机可执行指令:
针对所述容器集群当中运行所述第二容器的每一个节点,执行如下操作:
通过当前节点上预设的代理模块向预先设置的服务发现模块注册当前节点上运行的所述第二容器的状态信息。
可选的,所述状态信息中至少包含所述路由权重。
可选的,所述通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重,采用如下方式实现:
针对所述第一容器和所述第二容器所在的每一个节点,执行下述计算机可执行指令:
当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重。
可选的,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0;并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100。
可选的,所述针对所述待发布应用执行发布确认操作指令,包括:
删除所述待发布应用的所述原应用实例。
可选的,所述原应用实例对应所述待发布应用的旧版本,所述新应用实例对应所述待发布应用的新版本。
可选的,所述处理器602还用于执行下述计算机可执行指令:
基于预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。
可选的,所述预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块指令执行后,所述处理器602还用于执行下述计算机可执行指令:
基于所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。
可选的,所述容器集群当中节点上设置的所有负载均衡模块监听同一个服务发现模块当中存储的路由信息;相应的,所述容器集群当中任意一个节点上设置的负载均衡模块能够负载到所述容器集群当中所有节点上容器内运行的应用实例上。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (13)
1.一种在CaaS环境中进行应用发布的方法,其特征在于,包括:
在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
针对所述待发布应用执行发布确认操作;
其中,通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重,采用如下方式实现:针对所述第一容器和所述第二容器所在的每一个节点,执行下述步骤:当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重,其中,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0,并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100。
2.根据权利要求1所述的在CaaS环境中进行应用发布的方法,其特征在于,所述第二容器位于所述容器集群当中所述第一容器所在的节点上。
3.根据权利要求2所述的在CaaS环境中进行应用发布的方法,其特征在于,所述在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动步骤执行后,且所述通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重步骤执行前,执行下述步骤:
针对所述容器集群当中运行所述第二容器的每一个节点,执行如下操作:
通过当前节点上预设的代理模块向预先设置的服务发现模块注册当前节点上运行的所述第二容器的状态信息。
4.根据权利要求3所述的在CaaS环境中进行应用发布的方法,其特征在于,所述状态信息中至少包含所述路由权重。
5.根据权利要求1所述的在CaaS环境中进行应用发布的方法,其特征在于,所述针对所述待发布应用执行发布确认操作步骤,包括:
删除所述待发布应用的所述原应用实例。
6.根据权利要求1所述的在CaaS环境中进行应用发布的方法,其特征在于,所述原应用实例对应所述待发布应用的旧版本,所述新应用实例对应所述待发布应用的新版本。
7.根据权利要求1所述的在CaaS环境中进行应用发布的方法,其特征在于,包括:
预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。
8.根据权利要求7所述的在CaaS环境中进行应用发布的方法,其特征在于,所述预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块步骤执行后,执行下述步骤:
所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。
9.根据权利要求8所述的在CaaS环境中进行应用发布的方法,其特征在于,所述容器集群当中节点上设置的所有负载均衡模块监听同一个服务发现模块当中存储的路由信息;
相应的,所述容器集群当中任意一个节点上设置的负载均衡模块能够负载到所述容器集群当中所有节点上容器内运行的应用实例上。
10.一种在CaaS环境中进行应用发布的装置,其特征在于,包括:
新应用实例创建启动单元,用于在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
路由权重切换单元,用于通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内,其中,通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重,采用如下方式实现:针对所述第一容器和所述第二容器所在的每一个节点,执行下述步骤:当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重,其中,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0,并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100;
发布确认操作执行单元,用于针对所述待发布应用执行发布确认操作。
11.根据权利要求10所述的在CaaS环境中进行应用发布的装置,其特征在于,包括:
第一路由单元,用于通过预先设置的集群负载均衡模块接收用户发送的负载请求并根据预设路由规则进行路由,将所述负载请求分发给所述容器集群当中相应节点上的负载均衡模块。
12.根据权利要求11所述的在CaaS环境中进行应用发布的装置,其特征在于,包括:
第二路由单元,用于通过所述负载均衡模块接收所述集群负载均衡模块发送的所述负载请求,并根据在预先设置的服务发现模块监听到的路由信息进行容器寻址,将接收到的所述负载请求路由至相应容器进行处理。
13.一种电子设备,其特征在于,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
在容器集群当中节点上运行的容器内创建待发布应用的新应用实例并启动;
通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重;所述待发布应用的原应用实例运行在所述第一容器内,所述新应用实例运行在所述第二容器内;
针对所述待发布应用执行发布确认操作;
其中,通过所述节点上预设负载均衡模块切换第一容器与第二容器的路由权重,采用如下方式实现:针对所述第一容器和所述第二容器所在的每一个节点,执行下述步骤:当前节点上所述负载均衡模块根据在所述服务发现模块监听到的所述第一容器与所述第二容器的状态信息,切换所述第一容器与所述第二容器的路由权重,其中,所述第一容器在切换前的路由权重为100,所述第二容器在切换前的路由权重为0,并且,所述第一容器在切换后的路由权重为0,所述第二容器在切换后的路由权重为100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710011109.9A CN108282507B (zh) | 2017-01-06 | 2017-01-06 | 在CaaS环境中进行应用发布的方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710011109.9A CN108282507B (zh) | 2017-01-06 | 2017-01-06 | 在CaaS环境中进行应用发布的方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108282507A CN108282507A (zh) | 2018-07-13 |
CN108282507B true CN108282507B (zh) | 2021-02-02 |
Family
ID=62801044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710011109.9A Active CN108282507B (zh) | 2017-01-06 | 2017-01-06 | 在CaaS环境中进行应用发布的方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108282507B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112889247B (zh) * | 2018-10-18 | 2022-05-31 | 华为技术有限公司 | Vnf服务实例化方法及装置 |
CN109725920B (zh) * | 2018-12-29 | 2022-05-06 | 咪咕文化科技有限公司 | 一种服务实例的更新方法、装置及存储介质 |
CN110162382B (zh) * | 2019-04-09 | 2023-12-15 | 平安科技(深圳)有限公司 | 基于容器的灰度发布方法、装置、计算机设备及存储介质 |
CN110244964B (zh) * | 2019-05-28 | 2023-04-28 | 创新先进技术有限公司 | 一种基于运维应用的运维方法、运维方法、装置及设备 |
CN110471683B (zh) * | 2019-08-06 | 2023-11-24 | 上海浦东发展银行股份有限公司***中心 | 一种基于智能dns的容器云应用蓝绿发布方法 |
CN112532508B (zh) * | 2019-09-18 | 2022-06-14 | 华为技术有限公司 | 一种视频通信方法及视频通信装置 |
CN111841019A (zh) * | 2020-06-23 | 2020-10-30 | 腾讯科技(成都)有限公司 | 游戏应用安全验证方法、装置、设备及存储介质 |
CN114866790B (zh) * | 2022-03-25 | 2024-02-27 | 上海哔哩哔哩科技有限公司 | 直播流调度方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123587A (zh) * | 2007-09-13 | 2008-02-13 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
CN103095600A (zh) * | 2013-02-07 | 2013-05-08 | 杭州华三通信技术有限公司 | 一种基于Trill网络的负载均衡的方法及路由设备 |
US8690578B1 (en) * | 2013-01-03 | 2014-04-08 | Mark E. Nusbaum | Mobile computing weight, diet, nutrition, and exercise tracking system with enhanced feedback and data acquisition functionality |
CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及***、消息服务*** |
CN105103105A (zh) * | 2012-12-28 | 2015-11-25 | 脸谱公司 | 社交封面信息流界面 |
CN105700908A (zh) * | 2014-12-16 | 2016-06-22 | 佳能株式会社 | 管理***与管理***的控制方法 |
-
2017
- 2017-01-06 CN CN201710011109.9A patent/CN108282507B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123587A (zh) * | 2007-09-13 | 2008-02-13 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
CN105103105A (zh) * | 2012-12-28 | 2015-11-25 | 脸谱公司 | 社交封面信息流界面 |
US8690578B1 (en) * | 2013-01-03 | 2014-04-08 | Mark E. Nusbaum | Mobile computing weight, diet, nutrition, and exercise tracking system with enhanced feedback and data acquisition functionality |
CN103095600A (zh) * | 2013-02-07 | 2013-05-08 | 杭州华三通信技术有限公司 | 一种基于Trill网络的负载均衡的方法及路由设备 |
CN104811459A (zh) * | 2014-01-23 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 用于消息服务的处理方法、装置及***、消息服务*** |
CN105700908A (zh) * | 2014-12-16 | 2016-06-22 | 佳能株式会社 | 管理***与管理***的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108282507A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282507B (zh) | 在CaaS环境中进行应用发布的方法、装置以及电子设备 | |
US10257266B2 (en) | Location of actor resources | |
CN112513816B (zh) | 函数即服务(faas)执行分配器 | |
US9251040B2 (en) | Remote debugging in a cloud computing environment | |
US9916174B2 (en) | Updating networks having virtual machines with migration information | |
CN113783922A (zh) | 负载均衡的方法、***和装置 | |
US11201930B2 (en) | Scalable message passing architecture in a cloud environment | |
US11177974B2 (en) | Consistent provision of member node group information on virtual overlay network | |
US11816469B2 (en) | Resolving the version mismatch problem when implementing a rolling update in an open-source platform for container orchestration | |
US11627169B2 (en) | Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control | |
CN112882792A (zh) | 信息加载方法、计算机设备及存储介质 | |
US11792289B2 (en) | Live socket redirection | |
AU2020385682B2 (en) | Communication with an application flow in an integration system | |
US9348672B1 (en) | Singleton coordination in an actor-based system | |
CN114363254A (zh) | 租户隔离方法、装置及电子设备 | |
US10868758B1 (en) | Enabling bypass flows for network traffic between devices | |
US10824476B1 (en) | Multi-homed computing instance processes | |
WO2021201942A1 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
CN110347473B (zh) | 一种跨数据中心分布的虚拟化网元虚拟机分配方法及装置 | |
US10133496B1 (en) | Bindable state maintaining components | |
CN110659105A (zh) | 虚拟化资源处理方法、装置、设备及存储介质 | |
US11872497B1 (en) | Customer-generated video game player matchmaking in a multi-tenant environment | |
US11442943B1 (en) | Error-causing record isolation for data stream processing | |
US20200089544A1 (en) | Managing computer resources | |
JP2023524388A (ja) | 5gネットワークにおいてコンテンツ準備を使用する場合の逆アドレスマッピングのための方法、コンピュータシステム及びコンピュータプログラム |
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 |