CN113918276A - 一种基于容器的sdn控制器部署方法、设备及介质 - Google Patents
一种基于容器的sdn控制器部署方法、设备及介质 Download PDFInfo
- Publication number
- CN113918276A CN113918276A CN202111095092.2A CN202111095092A CN113918276A CN 113918276 A CN113918276 A CN 113918276A CN 202111095092 A CN202111095092 A CN 202111095092A CN 113918276 A CN113918276 A CN 113918276A
- Authority
- CN
- China
- Prior art keywords
- sdn controller
- determining
- service modules
- container
- operating environments
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000005096 rolling process Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 1
- 101100495256 Caenorhabditis elegans mat-3 gene Proteins 0.000 description 1
- 101000957299 Homo sapiens Coronin-7 Proteins 0.000 description 1
- 101000800546 Homo sapiens Transcription factor 21 Proteins 0.000 description 1
- 102100033121 Transcription factor 21 Human genes 0.000 description 1
- 101100407705 Zinnia violacea POD2 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于容器的SDN控制器部署方法、设备及介质,方法包括:确定SDN控制器的多个业务模块,将多个业务模块进行部署,并确定多个业务模块对应的代码管理仓库,以通过代码管理仓库对多个业务模块对应的配置文件进行管理;将SDN控制器发布,根据SDN控制器的发布内容确定多个业务模块对应的运行环境,根据运行环境生成镜像文件,并将镜像文件发送至云端;确定SDN控制器的工程文件,通过工程文件采集代码管理仓库中管理的配置文件,以完成挂载配置;根据从云端获取的镜像文件,通过工程文件确定SDN控制器的多个运行环境,并根据多个运行环境将业务模块部署在分布式容器中进行运行。
Description
技术领域
本申请涉及网络虚拟化技术领域,尤其涉及一种基于容器的SDN控制器部署方法、设备及介质。
背景技术
软件定义网络(SoftwareDefinedNetwork,SDN)是一种新型的网络架构,其核心思想是通过集中式的控制器软件来控制分布式的转发网络设备平面。云计算和虚拟化技术结合的SDN控制器能灵活的控制转发层面,目前SDN技术已经有大量落地数据中心和园区网的实践。
作为一款软件产品,SDN控制器必然会涉及到部署上线的过程。目前在市面上传统的SDN控制器部署步骤繁杂,并且存在人为操作失误的问题,也存在生产环境和测试环境配置不一致导致的问题。
发明内容
为了解决上述问题,本申请提出了一种基于容器的SDN控制器部署方法,应用在基于容器的SDN控制器部署系统中,所述SDN控制器部署系统包括云端,所述方法包括:确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至所述云端;确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
在一个示例中,根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行之后,所述方法还包括:通过所述SDN控制器的所述工程文件,确定每个所述业务模块部署的副本数量,对所述业务模块的运行状态进行检查,若所述业务模块的所述运行状态异常,则开启所述SDN控制器对应的副本。
在一个示例中,所述方法还包括:确定所述SDN控制器的升级请求,根据所述升级请求对所述SDN控制器的版本进行滚动升级,并对所述滚动升级进行升级检测;若所述滚动升级出现故障,将所述SDN控制器回退到上一个版本。
在一个示例中,所述SDN控制器部署系统还包括监控管理系统和日志分析系统,所述方法还包括:通过所述监控管理系统确定所述容器的运行情况和使用资源;通过所述日志分析系统确定所述容器在运行中产生的日志,并对所述日志进行归类分析,确定所述容器的运行报告。
在一个示例中,将所述镜像文件发送至所述云端之后,所述方法还包括:确定所述云端中所述业务模块的版本信息,并通过所述云端对所述业务模块进行项目关联,进行加密安全访问。
在一个示例中,所述将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境之后,所述方法还包括:根据所述SDN控制器的所述运行环境,将所述SDN控制器的所述镜像文件与多个所述配置文件进行挂载配置,并根据所述SDN控制器的所述工程文件,完成分布式SDN控制器系统的部署,并通过所述SDN控制器系统对所述配置文件进行管控。
在一个示例中,所述方法还包括:确定所述SDN控制器的负载量,若所述负载量超过预先设定的阈值,则对所述SDN控制器进行动态扩容,增加从节点。
在一个示例中,确定所述多个业务模块对应的代码管理仓库,具体包括:确定所述SDN控制器的源代码,根据所述源代码确定所述SDN控制器的所述代码管理仓库,通过所述代码管理仓库对所述SDN控制器的源代码进行管理。
另一方面,本申请还提出了一种基于容器的SDN控制器部署设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种基于容器的SDN控制器部署设备能够执行:确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至云端;确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
另一方面,本申请还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至云端;确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
本申请通过SDN控制器与容器化技术相结合,达到极简部署SDN系统的能力,完成快熟部署上线的功能。通过解析SDN控制器的工程文件,能够根据工程文件部署整个SDN系统及打通配置。通过SDN控制器业务模块管理自身运行环境的配置文件,与源代码一起进行管理。通过SDN控制器业务模块制作程序运行所需的最小依赖环境,随着版本发布,生成镜像上传至私服,并对业务模块进行独立部署,可以在一个操作系统部署多个。并运用公有云私服来完成SDN控制器模块的版本管理,提供SDN控制器业务模块的云镜像。通过监控管理平台,对系统的运行情况进行监控,通过日志系统采集系统的日志并,生成报告便于分析。采用了SDN控制器滚动升级和回滚的策略,通过容器编排系统的特性结合SDN控制器业务模块的特性,做到不中断业务的滚动升级及发现问题之后的回滚。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种基于容器的SDN控制器部署方法的流程示意图;
图2为本申请实施例中基于容器的SDN控制器的部署示意图;
图3为本申请实施例中一种基于容器的SDN控制器部署设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
随着云计算地蓬勃发展,数据中心的服务器已经不是只运行一个系统或者一个应用,而是所有服务器作为一个大的资源池被云平台调用,例如:OpenStack等。他们的存储、计算、网络都被当成了资源来由云平台统一调度。一台服务器上可以跑很多系统应用,这些系统应用相互隔离,虽然处在同一服务器,但是运行完全独立。
得益于虚拟机(Virtual Machine,VM)的虚拟化技术,现在一个服务器可以创建多个系统,用来部署不同的应用,例如VM1部署SDN控制器的底层网络业务模块,VM2部署SDN控制器的承载网络业务模块,VM3部署SDN控制器L4-7的业务模块,VM4部署负载均衡nginx等等,这些程序单独部署,业务隔离,只需要保证自己业务功能正常。但是,丰富的业务模块也带来了大量的部署工作,要保证所有VM虚拟机上的业务模块正常部署,才能保证SDN控制器正常运行。每一个VM上的应用都需要经历人为部署,配置,启动等过程。这对SDN控制器的使用无疑是一个巨大的负担。
伴随着虚拟化技术的发展,更轻量级的虚拟化技术Docker诞生了,并且也有相应的编排系统kubernetes。Docker是一种容器技术,它也是一种虚拟化技术,但是它的粒度更小,是基于VM的虚拟化技术。一个服务器可以虚拟化多个VM,一个VM利用Docker可以虚拟化成百上千个容器,容器的运行也是完全隔离的,它是程序运行所依赖的最小运行环境。
利用上述特性,本申请提出了一种基于容器的SDN控制器部署方法。将SDN控制器的业务模块全部打包成Docker镜像,然后上传到云端环境中,最后在kubernetes集群环境运行一个配置文件,就能根据配置文件构建一整套SDN控制器运行环境。从而大大简化了SDN控制器的部署流程。
如图1所示,本申请实施例提供的一种基于容器的SDN控制器部署方法,应用在基于容器的SDN控制器部署系统中,该SDN控制器部署系统包括云端,方法包括:
S101:确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理。
SDN是一种网络架构,是网络虚拟化的一种实现方式。目前市面上SDN分布式的部署方法,主要由一台SDN控制器来控制一台或多台SDN交换机,SDN分布式控制器部署在各个片区机房中,每一个片区机房有一台SDN控制控制着该机房的一台或者多台SDN交换机下的整个网络系统环境。在各个片区机房中可以部署不同的SDN控制器用来控制该机房中的一台或者多台SDN交换机。但上述分布式部署的方法需要大量部署SDN控制器的动作,并且需要手动打通配置,工作量巨大。且每个控制器只负责自己纳管的机房设备,控制器宕机后,机房就不能正常运行,并不具备高可靠性。
如图2所示,SDN控制器具备多个模块,例如:底层网络模块、承载网络模块、L4-7业务模块、运维模块等。每个业务模块的功能相互独立,例如:底层网络模块负载底层网络业务逻辑;承载网络模块负责承载网络业务逻辑;L4-7业务模块负责L4-7网络业务逻辑;运维模块用于展示流量可视化商业智能仪表盘(business intelligence dashboard,BIdashboard)界面。每个业务模块都能够单独进行部署。每个业务模块具备独立的代码管理仓库,通过代码管理仓库管理其业务模块对应的相关配置文件,从而在最后编排阶段能够根据配置文件实现挂载配置管理。
S102:将所述SDN控制器进行发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境确定镜像文件,将所述镜像文件发送至所述云端。
如图2所示,SDN控制器版本发布时,确定SDN控制器的发布内容,根据发布内容可获得该SDN控制器的运行详情信息,从而确定各个业务模块依赖的最小运行环境。每个业务模块在运行时需要确认其运行所需要的组件,即为该业务模块的运行环境,最小运行环境为该业务模块能够维持运行所需要的最少组件的组合。将各个业务模块和其所依赖的最小运行环境打包成镜像文件,然后将该镜像文件上传发送到云端,例如:云端为公有云私服,包含Sdn-underlay v1.1、Sdn-overlay v1.1、Sdn-L47 v1.1、Sdn-oam v1.1等云端镜像文件及其版本。
S103:确定所述SDN控制器的工程文件,根据所述工程文件确定对应的所述配置文件,并完成挂载配置。
通过kubernetes集群编排功能,先确定SDN控制器的工程文件,根据SDN控制器的工程文件收集各业务模块的配置文件,完成挂载配置管理。
S104:根据所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署为分布式的容器中进行运行。
如图2所示,生产环境编排阶段是在kubernetes集群中实现的,根据工程文件确定该SDN控制器的多个运行环境,并配置生成一套该SDN运行环境,将SDN控制器的业务模块部署到一个分布式的容器中进行运行,例如:容器POD1、容器POD2、容器POD3、容器POD4。
在一个实施例中,当SDN控制器需要升级时,往往需要人为把每个SDN控制器进行升级,在升级的同时业务无法正常使用,并且升级失败还需要定位问题和回滚到原来的版本,导致运维升级工作很困难。本申请提出的一种基于容器的SDN控制器部署方法利用kubernetes的滚动升级功能,能实现整个分布式环境。首先确定SDN控制器的升级请求,根据该升级请求对所述SDN控制器的版本进行滚动升级,所有业务模块在业务不中断的情况下升级到新版本,慢慢的把旧版本的SDN控制器换成新版本的SDN控制器,这样能实现平滑升级。在进行滚动升级的过程中进行升级检测,若该滚动升级中的某个业务模块升级出错,或某个步骤出现问题,将升级中的SDN控制器回退到上一个版本,保证该SDN控制器能够正常使用。
在一个实施例中,该SDN控制器部署系统还包括监控管理系统和日志分析系统,通过监控管理系统,能够看到所有容器的运行及使用资源的情况,对全局能够进行整体地把控。通过日志分析系统,能够收集容器运行中产生的日志,并对运行日志做归类分析,生成该容器的运行报告让运维人员知道系统是否有较严重的实践问题。通过监控管理系统能够观测整个系统所有模块容器的运行情况,通过日志收集系统,可以获取所有系统的告警信息。
在一个实施例中,将镜像文件发送至云端之后,确定该业务模块的版本信息,通过云端管理已发布的SDN控制器的业务模块的版本,通过项目关联子模块的方式管理SDN控制项目下所有的子模块版本,并通过HTTPS加密的方式完成安全访问的部署。
在一个实施例中,本申请中SDN控制器与容器化技术相结合,达到极简部署SDN系统的能力。通过制造SDN控制器的镜像,保证SDN控制器的运行环境一套分布式SDN控制器系统的一键式部署,并且对配置文件进行管理。通过制作的SDN控制器工程文件,能够根据工程文件部署一个完整的分布式SDN系统并打通该配置。并通过所述SDN控制器系统对所述配置文件进行管控。
在一个实施例中,通过SDN控制器的工程文件,能够指定SDN控制器部署的业务模块的数量,每个业务模块看作是该SDN控制器的一个副本。在运行过程中,对业务模块的运行状态进行检查,若某个业务模块的运行状态异常,则开启该SDN控制器的其他副本。此外,还有还有若干个可以使用的副本处于待机状态,从而不影响SDN控制器的正常运行,具备高可靠性。
在一个实施例中,在运行过程中,对SDN控制器的负载量进行实时监控,若负载量超过了预先设定的阈值,则对SDN控制器进行动态扩容,增加从节点,把运行压力分担到从节点上。
在一个实施例中,确定建立时的SDN控制器源代码,并建立该SDN控制器对应的代码管理仓库,通过该代码管理仓库管理SDN控制器的相关配置文件以及源代码一起进行管理。
如图3所示,本申请实施例还提供了一种基于容器的SDN控制器部署设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种基于容器的SDN控制器部署设备能够执行:
确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;
将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至云端;
确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;
根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;
将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至云端;
确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;
根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于容器的SDN控制器部署方法,其特征在于,应用在基于容器的SDN控制器部署系统中,所述SDN控制器部署系统包括云端,所述方法包括:
确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;
将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至所述云端;
确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;
根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
2.根据权利要求1所述的方法,其特征在于,根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行之后,所述方法还包括:
通过所述SDN控制器的所述工程文件,确定每个所述业务模块部署的副本数量,对所述业务模块的运行状态进行检查,若所述业务模块的所述运行状态异常,则开启所述SDN控制器对应的副本。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述SDN控制器的升级请求,根据所述升级请求对所述SDN控制器的版本进行滚动升级,并对所述滚动升级进行升级检测;
若所述滚动升级出现故障,将所述SDN控制器回退到上一个版本。
4.根据权利要求1所述的方法,其特征在于,所述SDN控制器部署系统还包括监控管理系统和日志分析系统,所述方法还包括:
通过所述监控管理系统确定所述容器的运行情况和使用资源;
通过所述日志分析系统确定所述容器在运行中产生的日志,并对所述日志进行归类分析,确定所述容器的运行报告。
5.根据权利要求1所述的方法,其特征在于,将所述镜像文件发送至所述云端之后,所述方法还包括:
确定所述云端中所述业务模块的版本信息,并通过所述云端对所述业务模块进行项目关联,进行加密安全访问。
6.根据权利要求1所述的方法,其特征在于,所述将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境之后,所述方法还包括:
根据所述SDN控制器的所述运行环境,将所述SDN控制器的所述镜像文件与多个所述配置文件进行挂载配置,并根据所述SDN控制器的所述工程文件,完成分布式SDN控制器系统的部署,并通过所述SDN控制器系统对所述配置文件进行管控。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述SDN控制器的负载量,若所述负载量超过预先设定的阈值,则对所述SDN控制器进行动态扩容,增加从节点。
8.根据权利要求1所述的方法,其特征在于,确定所述多个业务模块对应的代码管理仓库,具体包括:
确定所述SDN控制器的源代码,根据所述源代码确定所述SDN控制器的所述代码管理仓库,通过所述代码管理仓库对所述SDN控制器的源代码进行管理。
9.一种基于容器的SDN控制器部署设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种基于容器的SDN控制器部署设备能够执行:
确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;
将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至云端;
确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;
根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
确定SDN控制器的多个业务模块,将所述多个业务模块进行部署,并确定所述多个业务模块对应的代码管理仓库,以通过所述代码管理仓库对所述多个业务模块对应的配置文件进行管理;
将所述SDN控制器发布,根据所述SDN控制器的发布内容确定所述多个业务模块对应的运行环境,根据所述运行环境生成镜像文件,并将所述镜像文件发送至云端;
确定所述SDN控制器的工程文件,通过所述工程文件采集所述代码管理仓库中管理的所述配置文件,以完成挂载配置;
根据从所述云端获取的所述镜像文件,通过所述工程文件确定所述SDN控制器的多个所述运行环境,并根据所述多个运行环境将所述业务模块部署在分布式容器中进行运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095092.2A CN113918276A (zh) | 2021-09-17 | 2021-09-17 | 一种基于容器的sdn控制器部署方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095092.2A CN113918276A (zh) | 2021-09-17 | 2021-09-17 | 一种基于容器的sdn控制器部署方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918276A true CN113918276A (zh) | 2022-01-11 |
Family
ID=79235447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111095092.2A Pending CN113918276A (zh) | 2021-09-17 | 2021-09-17 | 一种基于容器的sdn控制器部署方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918276A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791801A (zh) * | 2022-06-27 | 2022-07-26 | 军事科学院系统工程研究院网络信息研究所 | 一种基于多变体的软件安全防御方法和系统 |
CN114881233A (zh) * | 2022-04-20 | 2022-08-09 | 深圳市魔数智擎人工智能有限公司 | 一种基于容器的分布式模型推理服务方法 |
CN114968274A (zh) * | 2022-07-29 | 2022-08-30 | 之江实验室 | 一种基于灰度发布的自动化快速部署前置机的方法及系统 |
CN116389262A (zh) * | 2023-06-02 | 2023-07-04 | 新华三技术有限公司 | 一种配置回滚方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120180024A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Synchronizing development code and deployed executable versioning within distributed systems |
CN105577503A (zh) * | 2016-01-18 | 2016-05-11 | 浪潮集团有限公司 | 一种基于Docker的云交换机系统及其实现方法 |
CN111142878A (zh) * | 2018-11-06 | 2020-05-12 | 中兴通讯股份有限公司 | Sdn运维方法、装置、设备以及可读存储介质 |
CN111625316A (zh) * | 2020-05-15 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种环境部署方法、装置及电子设备和存储介质 |
CN111831396A (zh) * | 2020-07-10 | 2020-10-27 | 融慧金科金融服务外包(北京)有限公司 | 基于Docker软硬一体化的交付方法及装置 |
-
2021
- 2021-09-17 CN CN202111095092.2A patent/CN113918276A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120180024A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Synchronizing development code and deployed executable versioning within distributed systems |
CN105577503A (zh) * | 2016-01-18 | 2016-05-11 | 浪潮集团有限公司 | 一种基于Docker的云交换机系统及其实现方法 |
CN111142878A (zh) * | 2018-11-06 | 2020-05-12 | 中兴通讯股份有限公司 | Sdn运维方法、装置、设备以及可读存储介质 |
CN111625316A (zh) * | 2020-05-15 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种环境部署方法、装置及电子设备和存储介质 |
CN111831396A (zh) * | 2020-07-10 | 2020-10-27 | 融慧金科金融服务外包(北京)有限公司 | 基于Docker软硬一体化的交付方法及装置 |
Non-Patent Citations (1)
Title |
---|
崔佰贵: "Docker部署基于Ryu的SDN环境", pages 1 - 19, Retrieved from the Internet <URL:https://www.sdnlab.com/4499.htm> * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114881233A (zh) * | 2022-04-20 | 2022-08-09 | 深圳市魔数智擎人工智能有限公司 | 一种基于容器的分布式模型推理服务方法 |
CN114791801A (zh) * | 2022-06-27 | 2022-07-26 | 军事科学院系统工程研究院网络信息研究所 | 一种基于多变体的软件安全防御方法和系统 |
CN114791801B (zh) * | 2022-06-27 | 2022-08-30 | 军事科学院系统工程研究院网络信息研究所 | 一种基于多变体的软件安全防御方法和系统 |
CN114968274A (zh) * | 2022-07-29 | 2022-08-30 | 之江实验室 | 一种基于灰度发布的自动化快速部署前置机的方法及系统 |
CN116389262A (zh) * | 2023-06-02 | 2023-07-04 | 新华三技术有限公司 | 一种配置回滚方法、装置、电子设备及存储介质 |
CN116389262B (zh) * | 2023-06-02 | 2023-08-18 | 新华三技术有限公司 | 一种配置回滚方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416342B2 (en) | Automatically configuring boot sequence of container systems for disaster recovery | |
CN113918276A (zh) | 一种基于容器的sdn控制器部署方法、设备及介质 | |
US11329888B2 (en) | End-to-end automated servicing model for cloud computing platforms | |
KR102354536B1 (ko) | 하이퍼레저 패브릭 네트워크 구축 방법과 컨트롤러 및 저장 매체 | |
US11799742B2 (en) | Resolving configuration drift for computing resource stacks | |
CN112099917B (zh) | 调控系统容器化应用运行管理方法、系统、设备及介质 | |
US20160259665A1 (en) | Methods and apparatus to select virtualization environments for migration | |
US9766919B2 (en) | Methods and apparatus to select virtualization environments during deployment | |
WO2022062304A1 (zh) | 在容器云上部署图像识别服务的方法与设备 | |
CN109857516B (zh) | 基于容器的集群迁移方法及装置 | |
CN111831396A (zh) | 基于Docker软硬一体化的交付方法及装置 | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
US20230367651A1 (en) | Method and apparatus of reconstructing and verifying proprietary cloud based on state transition | |
CN113553140B (zh) | 资源调度方法、设备及系统 | |
US10397071B2 (en) | Automated deployment of cloud-hosted, distributed network monitoring agents | |
CN113608880A (zh) | 算法模型部署系统 | |
CN113296825A (zh) | 一种应用的灰度发布方法、装置和应用发布系统 | |
US12067380B2 (en) | System and method of offloading and migrating management controller functionalities using containerized services and application thereof | |
CN110968444A (zh) | 云计算平台的数据处理方法和装置 | |
CN107562510B (zh) | 一种应用实例的管理方法及管理设备 | |
US9798571B1 (en) | System and method for optimizing provisioning time by dynamically customizing a shared virtual machine | |
CN111198694A (zh) | 软件的安装方法及装置 | |
Mosa et al. | Towards a cloud native big data platform using micado | |
CN114579142A (zh) | 支持稳态与敏态的双模大数据版本部署方法、装置及设备 | |
CN113296802A (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 |