CN111447146A - 物理路由信息的动态更新方法、装置、设备和存储介质 - Google Patents
物理路由信息的动态更新方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111447146A CN111447146A CN202010202535.2A CN202010202535A CN111447146A CN 111447146 A CN111447146 A CN 111447146A CN 202010202535 A CN202010202535 A CN 202010202535A CN 111447146 A CN111447146 A CN 111447146A
- Authority
- CN
- China
- Prior art keywords
- floating
- cluster
- routing rule
- routing
- router
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical 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/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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种物理路由信息的动态更新方法、装置、设备和存储介质,该方法包括:获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;末端路由器应用设定协议将路由规则上传至上一层的核心路由器;核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。实现了自动监控浮动IP的分配与绑定,自动创建与发布路由规则,无需借助第三方虚拟网络,具备较高的独立性和灵活性;并且让容器集群中的虚拟网络成为整个局域网的可直接访问的一部分。
Description
技术领域
本发明涉及网络环境中的路由技术领域,具体涉及一种物理路由信息的动态更新方法、装置、设备和存储介质。
背景技术
在计算机中,容器是一种更轻量级、更灵活的虚拟化处理方式,它将一个应用程序所需的一切打包在一起。容器包括所有代码,各种依赖甚至操作系统,这让应用程序几乎在任何地方都可以运行。确保应用程序从一个环境移动到另一个环境的正确运行。其应用之间通过计算、存储和网络资源的命名空间进行隔离,为每个应用形成一个逻辑上独立的“容器操作系统”。
通常云服务厂商会提供各类容器云上的各种负载均衡插件,让Kubernetes服务接入到外网,让用户来通过容器服务所绑定的IP地址访问其服务。对于直接部署在物理机上的容器,由于容器的IP(Internet Protocol,网际互连协议)都是容器框架自主分配与绑定的,且容器所绑定的IP地址也时常变化,与传统服务器的网络设置不是在一个层面,导致这些容器所承载的服务加入到外网非常不方便。无论网络路由器使用静态路由规则或者动态路由规则,均需要采用人工维护或者脚本编写的方式不断更新网络上访问这些容器的路由规则。
传统的做法是把Docker容器的端口映射到宿主机上,所有IP请求都通过宿主机端口进行中转。但在企业的生产环境中使用时,有不少现成的功能需要修改,才能使容器内部的服务访问起来和物理网络环境下的服务一样便利。或者就是借助于云计算服务商提供的负载均衡器才能实现,这也要求了Kubernetes集群必须在公有云厂上部署,对于物理服务器部署或者非云环境下部署的Kubernetes集群,这一机制就存在局限性而无法使用。
发明内容
有鉴于此,提供一种物理路由信息的动态更新方法、装置、设备和存储介质,以解决现有技术中无法让容器集群中的虚拟网络成为整个局域网的可直接访问的一部分的问题。
本发明采用如下技术方案:
第一方面,本申请实施例提供了一种物理路由信息的动态更新方法,该方法包括:
获取集群中运行在当前容器中的服务,以及为所述服务分配的浮动IP,其中,所述集群包括至少两个服务器节点;
集群中的容器管理器根据所述浮动IP在所述服务器节点上创建对应的路由规则,并应用设定协议将所述路由规则同步到末端路由器;
所述末端路由器应用所述设定协议将所述路由规则上传至上一层的核心路由器;
所述核心路由器应用所述设定协议将所述路由规则同步到边缘路由器,以更新物理路由信息。
第二方面,本申请实施例提供了一种物理路由信息的动态更新装置,该装置包括:
服务获取模块,用于获取集群中运行在当前容器中的服务,以及为所述服务分配的浮动IP,其中,所述集群包括至少两个服务器节点;
路由规则创建与同步模块,用于指示集群中的容器管理器根据所述浮动IP在所述服务器节点上创建对应的路由规则,并应用设定协议将所述路由规则同步到末端路由器;
路由规则上传模块,用于指示所述末端路由器应用所述设定协议将所述路由规则上传至上一层的核心路由器;
路由信息更新模块,用于指示所述核心路由器应用所述设定协议将所述路由规则同步到边缘路由器,以更新物理路由信息。
第三方面,本申请实施例提供了一种设备,该设备包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行本申请实施例第一方面所述的物理路由信息的动态更新方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
第四方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的物理路由信息的动态更新方法中各个步骤。
本发明采用以上技术方案,通过获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;末端路由器应用设定协议将路由规则上传至上一层的核心路由器;核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。实现了自动监控浮动IP的分配与绑定,自动创建与发布路由规则,无需借助第三方虚拟网络,具备较高的独立性和灵活性;并且让容器集群中的虚拟网络成为整个局域网的可直接访问的一部分。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种物理路由信息的动态更新方法的流程图;
图2是本申请实施例中适用的一种动态路由在网络中的传播方式的示意图;
图3是本发明实施例提供的另一种物理路由信息的动态更新方法的流程图;
图4是本申请实施例中适用的一种监听节点内部的IP变化的原理图;
图5示出了一种Kubernetes容器框架中完整实现动态IP路由规则更新的系统框图;
图6是本发明实施例提供的一种物理路由信息的动态更新装置的结构示意图;
图7是本发明实施例提供的一种设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
首先对本申请实施例中用到的相关概念进行说明:
以Docker为主的容器技术是一种轻量级虚拟化技术,使用命名空间分割和共享主机的操作系统内核资源。与传统的虚拟机技术相比,它不需要一个完整的操作系统来支撑其运行,从而具备更少的资源占用和更高的部署密度。同时,容器只能提供应用程序级别的抽象,因此无法提供强大的硬件隔离、复杂的资源管理,和异构的操作系统支持。
Docker虽然实现了容器技术的核心特性,然而当成千上百个容器在一台主机上和多台同时运行并相互组成群集时,Docker并没有提供足够的编排、组织和批量管理的功能。Google推出的Kubernetes容器框架是一个开源的容器集群管理系统,可以实现Docker容器集群的自动化部署、自动扩缩容、维护等功能。它还包括一系列独立、可组合的控制流程,能持续驱动容器群集从当前状态向需求的状态不断变化,实现真正的以容器为中心的运维环境。
除此之外,为了让容器中的应用能够接入网络,还需要给容器配置对应的虚拟网络。容器节点所使用的虚拟网络与其宿主物理机的网络是隔离开的,它可以通过覆盖网络overlay或非覆盖网络non-overlay两种方式来实现。
覆盖网络是指在底层网络之上实现并在其上操作的抽象网络,而虚拟网络则通常是指覆盖网络中底层网络的一部分的抽象。容器数据包会被宿主机的UDP(User DatagramProtocol,用户数据报协议)报文头封装,主机对容器数据包IP不可见。例如:Docker原生覆盖网络、Flannel和Weave。非覆盖网络是指容器数据包不会被封装,直接转发到宿主机上,主机对容器数据包的IP可见,例如:NAT(Network Address Translation,网络地址转换)和Calico。
但无论是覆盖网络或非覆盖网络,一般只解决容器与容器之间的访问,容器与宿主机同网段服务器之间的访问。而外部网络需要访问容器内的应用时,则一般要通过映射容器内部端口到宿主机的外部端口去映射访问应用。所以,默认情况下,宿主机和docker网络之外的其他网络都不可以访问,无法让容器集群中的虚拟网络成为整个局域网的可直接访问的一部分。
其次,对相关技术中的实现方式进行说明:
不管是使用覆盖网络还是非覆盖网络,容器只是获得了一个固定或者浮动的IP地址以接入Docker网络。在传统方式中,维护这些容器的IP路由信息,仍需要周期性地采集各个容器的IP信息,并通过协议转换上传到核心路由器的路由表中。
这样的系统存在若干缺陷。第一,它并不是内置的功能,要求在容器控制器内部定期执行脚本来采集各个容器的IP信息,因此路由数据并不是实时更新。第二,它并不是标准的路由器通信协议,需要网络管理和运维人员手动或编写脚本更新路由器的路由表。第三,容器实例如果异常停止或者被销毁,该容器所绑定的IP信息仍会存在路由表中一段时间,造成虚假的路由信息,其恢复过程仍需要一段时间。
另一种就是使用传统的静态路由信息维护方式,即,给容器云的群集划定固定的IP网段,所有访问该网段的请求都路由到这个容器群集。然而该方式完全依赖静态的、事先确定的网络规划方案,对于不断增长变化的弹性容器环境来说,很容易造成IP资源不够或者浪费的情况,而且在多数据中心的环境下也存在网络规划复杂难维护的缺陷,往往需要在边缘路由器上手动写入IP的nexthop路由信息。
因此,本申请的技术方案克服了上述问题,具体实现方案详见下述实施例。
实施例
图1为本发明实施例提供的一种物理路由信息的动态更新方法的流程图,该方法可以由本发明实施例提供的物理路由信息的动态更新装置来执行,该装置可采用软件和/或硬件的方式实现。参考图1,该方法具体可以包括如下步骤:
S101、获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点。
首先,图2示出了一种动态路由在网络中的传播方式的示意图,在一个典型的网点环境中,包括一个或多个核心路由器,多个负责连接服务器和局域网的末端路由器,一个或多个边缘路由器。在图2中,用2个物理服务器、2个末端路由器、2个核心路由器和2个边缘路由器来示例。参考图2,左下是两个服务器节点的Kubernetes集群,集群上方是两个末端路由器,末端路由器1和末端路由器2,末端路由器连接了核心路由器,包括末端路由器1和末端路由器2,核心路由器1和核心路由器2。外部用户通过边缘路由器接入容器网络,边缘路由器1和边缘路由器2也连接了核心路由器。
另外,本申请实施例中以Kubernetes容器框架的Docker集群为例进行说明。具体的,Kubernetes容器集群中创建了一个运行在容器上的服务,例如,分别运行在物理服务器192.168.0.2和192.168.0.3上,并分配了浮动IP地址1.2.3.4给这个服务。
S102、集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器。
可选的,设定协议可以是BGP(Border Gateway Protocol,外界网关协议)。这样,集群中的容器管理器可以根据浮动IP在服务器节点上创建对应的路由规则,例如,物理服务器通过BGP协议通知末端路由器1和末端路由器2,增加一条路由信息,也即,访问1.2.3.4的下一跳可以是192.168.0.2或者192.168.0.3。在这个例子中,这就是路由规则,然后应用BGP将该路由规则同步到末端路由器。
S103、末端路由器应用设定协议将路由规则上传至上一层的核心路由器。
具体的,末端路由器1和末端路由器2也会将这个信息,也即路由规则,通过北向连接告知上一层的核心路由器,而核心路由器可以更新自己的路由表信息,也即,获知访问1.2.3.4的下一跳是192.168.0.2和192.168.0.3。
S104、核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。
因此,按照同样的逻辑,该路由规则也会更新到边缘路由器。这样外部用户访问1.2.3.4的完整路径就有了。在这个具体的例子中,每一层都有双线路连通性,所以外界访问1.2.3.4的路径就有2*2*2*2=16条,流量能够在整个网络中被分流,并且任意一个路由器意外宕机都不会影响外部用户访问容器所提供的服务。
本发明采用以上技术方案,通过获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;末端路由器应用设定协议将路由规则上传至上一层的核心路由器;核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。实现了自动监控浮动IP的分配与绑定,自动创建与发布路由规则,无需借助第三方虚拟网络,具备较高的独立性和灵活性;并且让容器集群中的虚拟网络成为整个局域网的可直接访问的一部分。
图3为本发明又一实施例提供的物理路由信息的动态更新方法的流程图,本实施例在上述实施例的基础上实现。参考图3,该方法具体可以包括如下步骤:
S301、获取集群中运行在当前容器中的服务。
S302、监听服务器节点内部的浮动IP变化状态信息。
具体的,在Kubernetes中,如果需要从集群外部访问容器上的服务,即将服务暴露给外部用户使用,Kubernetes Service本身提供了两种方式,一种是NodePort,另外一种是LoadBalancer。该方法的具体实施原理,就是提供了一种基于Kubernetes LoadBalancer插件体系的网络路由规则管理系统。
本申请的技术方案包含两大功能核心模块:1)LoadBalancer插件和后台监听器。LoadBalancer插件负责同步BGP路由到物理交换机;而后台监听器以DaemonSet方式部署到节点上负责维护引流规则;2)浮动IP管理器。包括EIP pool管理和EIP controller。Controller会负责更新服务EIP信息。
在一个具体的例子中,图4示出了一种监听节点内部的IP变化的原理图,也即,如何获取1.2.3.4的过程。
可选的,具体可以通过如下方式实现:监控集群中的各个服务和各个端口;通过存储和分配浮动IP来监听服务器节点内部的浮动IP变化信息。
如图4所示,该系统具体包括用于提供管理、控制容器网络的Kubernetes容器管理器,一组运行在容器结点上的后台监听进程,一台运行BGP协议的物理服务器,以及用于拦截并发布容器实例IP信息的Kubernetes插件。其中核心容器管理器的主要是监控集群中的服务以及对应的端口来获取Pod漂移信息,以及浮动IP的存储与分配。
S303、为服务分配的浮动IP,其中,集群包括至少两个服务器节点。
S304、集群中的各个服务器节点中部署的轻量级监听器监测到任意一个浮动IP被应用时,集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则。
图5示出了一种Kubernetes容器框架中完整实现动态IP路由规则更新的系统框图,其中,在实现的时候,Kubernetes插件中所有资源都被描述成Kubernetes标准的CRD(Custom Resource Definition,用户自定义描述符)用作虚拟网络下的一个路由装置。
参考图5,该插件模块包括一个标签过滤器、一套IP管理组件和一个BGP服务器。该插件以服务的形式部署在Kubernetes群中时,会与集群的边缘路由器建立BGP连接。每当集群中创建了带有特定注记的服务时,就会为该服务动态分配浮动IP。其中标签过滤器用于识别出带有特定注记的服务或者端口。同时集群中所有节点都部署有一个轻量级后台监听器,每当有一个浮动IP被使用时,就会在主机上添加一条主机路由规则,将发往这个浮动IP的IP报文引流到本地。
可选的,可以通过如下方式实现:标签过滤器接收浮动IP被接收的通知消息;将浮动IP与物理机之间的绑定关系转发至IP管理组件;IP管理组件根据绑定关系和通知消息创建路由规则。
其中,当标签过滤器收到这类的通知时,它将相关的浮动IP与物理机之间的绑定关系转发给IP管理组件。该组件主要负责记录这些变化并转换成一条条路由规则,并通过BGP协议进行呈现。
可选的,IP管理组件根据绑定关系和通知消息创建路由规则具体包括:IP管理组件控制分配好的浮动IP以辅助IP的形式绑定在容器管理器所在的节点主网卡上,以创建路由规则。
其中,插件模块内置了一个BGP Server端。分配好的浮动IP地址将以辅助IP的形式绑定在容器管理器所在的节点主网卡上,然后创建路由,并通过BGP(Border GatewayProtocol,边界网关协议)广播同步至最近的末端路由器上,再经由路由器之间的BGP自治机制同步到整个交换机网络。这样就可以实现容器服务的IP路由信息在整个网络上的配置。
需要说明的是,本申请实施例的技术方案是完全通过软件实现的网络路由规则配置,它主要通过Kubernetes的插件技术和互联网本身的消息协议BGP直接将虚拟网络中的IP地址和路由规则上传到了物理交换机中,从而实现了容器网络在部署中的自适应与自配置。
另外,在部署该方案的时候需要满足两个前提:1、物理服务器所连接的路由器必须支持BGP协议;2、需要所连接的路由器支持ECMP(Equal-Cost Multipath Routing,等价多路径)特性,并包括以下特性:a)支持接收多个等价路由;b)支持接收来自同一个邻居的多条等价路由。如果网络架构中存在一个路由器不支持BGP,或者被禁止开启BGP,那么需要在这个路由器上手动写入浮动IP的nexthop路由信息,或者通过其他路由发现协议。
S305、通过部署在服务器节点上的轻量级监控器,在服务器节点启停或者浮动IP重新分配时,通过设定广播集群中新增或删减的路由信息到末端路由器。
具体的,通过部署在所有节点上的一个轻量级后台监听器,在结点启停或者IP重新分配的时候通过BGP协议向外广播集群中新增或删减的路由信息。
S306、末端路由器应用设定协议将路由规则上传至上一层的核心路由器。
S307、核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。
本申请实施例中,通过借助Kubernetes内建的资源描述符和各个节点上的轻量级后台监控进程来自动监控浮动IP的分配与绑定,实现了自动创建与发布路由规则;通过BGP自治协议传播服务的IP地址,不需要一个全知的静态网络路由表;通过ECMP等价路由协议,实现了在冗余网络连接环境下的IP路由规则的高可用性;不借助Flannel或者Calico等第三方虚拟网络实现,独立实现。另外,该方案不依赖于Kubernetes所使用的具体虚拟网络的实现组件,具备较高的独立性和灵活性。此外,本方案所采用的BGP协议,是互联网上一个核心的去中心化自治路由协议。相较于其他路由协议,BGP使用了L4来保证路由信息的安全更新。同时,由于BGP的去中心化特性,很容易搭建一个高可用路由层,保证网络的持续性。
图6是本发明是实施例提供的一种物理路由信息的动态更新装置的结构示意图,该装置适用于执行本发明实施例提供给的一种物理路由信息的动态更新方法。如图6所示,该装置具体可以包括:服务获取模块601、路由规则创建与同步模块602、路由规则上传模块603和路由信息更新模块604。
其中,服务获取模块601,用于获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;路由规则创建与同步模块602,用于指示集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;路由规则上传模块603,用于指示末端路由器应用设定协议将路由规则上传至上一层的核心路由器;路由信息更新模块604,用于指示核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。
本发明采用以上技术方案,通过获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;末端路由器应用设定协议将路由规则上传至上一层的核心路由器;核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。实现了自动监控浮动IP的分配与绑定,自动创建与发布路由规则,无需借助第三方虚拟网络,具备较高的独立性和灵活性;并且让容器集群中的虚拟网络成为整个局域网的可直接访问的一部分。
可选的,还包括IP监听模块,用于获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP之前,监听服务器节点内部的浮动IP变化状态信息。
可选的,IP监听模块具体用于:
监控集群中的各个服务和各个端口;
通过存储和分配浮动IP来监听服务器节点内部的浮动IP变化信息。
可选的,路由规则创建与同步模块602具体用于:
通过部署在服务器节点上的轻量级监控器,在服务器节点启停或者浮动IP重新分配时,通过设定广播集群中新增或删减的路由信息到末端路由器。
可选的,路由规则创建与同步模块602具体用于:
集群中的各个服务器节点中部署的轻量级监听器监测到任意一个浮动IP被应用时,集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则。
可选的,路由规则创建与同步模块602具体用于:
标签过滤器接收浮动IP被接收的通知消息;
将浮动IP与物理机之间的绑定关系转发至IP管理组件;
IP管理组件根据绑定关系和通知消息创建路由规则。
可选的,路由规则创建与同步模块602具体用于:
IP管理组件控制分配好的浮动IP以辅助IP的形式绑定在容器管理器所在的节点主网卡上,以创建路由规则。
本发明实施例提供的物理路由信息的动态更新装置可执行本发明任意实施例提供的物理路由信息的动态更新方法,具备执行方法相应的功能模块和有益效果。
本发明实施例还提供一种设备,请参阅图7,图7为一种设备的结构示意图,如图7所示,该设备包括:处理器710,以及与处理器710相连接的存储器720;存储器720用于存储计算机程序,计算机程序至少用于执行本发明实施例中的物理路由信息的动态更新方法;处理器710用于调用并执行存储器中的计算机程序;上述物理路由信息的动态更新方法至少包括如下步骤:获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;末端路由器应用设定协议将路由规则上传至上一层的核心路由器;核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。
本发明实施例还提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如本发明实施例中的物理路由信息的动态更新方法中各个步骤:获取集群中运行在当前容器中的服务,以及为服务分配的浮动IP,其中,集群包括至少两个服务器节点;集群中的容器管理器根据浮动IP在服务器节点上创建对应的路由规则,并应用设定协议将路由规则同步到末端路由器;末端路由器应用设定协议将路由规则上传至上一层的核心路由器;核心路由器应用设定协议将路由规则同步到边缘路由器,以更新物理路由信息。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种物理路由信息的动态更新方法,其特征在于,包括:
获取集群中运行在当前容器中的服务,以及为所述服务分配的浮动IP,其中,所述集群包括至少两个服务器节点;
集群中的容器管理器根据所述浮动IP在所述服务器节点上创建对应的路由规则,并应用设定协议将所述路由规则同步到末端路由器;
所述末端路由器应用所述设定协议将所述路由规则上传至上一层的核心路由器;
所述核心路由器应用所述设定协议将所述路由规则同步到边缘路由器,以更新物理路由信息。
2.根据权利要求1所述的方法,其特征在于,所述获取集群中运行在当前容器中的服务,以及为所述服务分配的浮动IP之前,还包括:
监听所述服务器节点内部的浮动IP变化状态信息。
3.根据权利要求2所述的方法,其特征在于,所述监听所述服务器节点内部的浮动IP变化状态信息,包括:
监控集群中的各个服务和各个端口;
通过存储和分配浮动IP来监听所述服务器节点内部的浮动IP变化信息。
4.根据权利要求1所述的方法,其特征在于,所述应用设定协议将所述路由规则同步到末端路由器,包括:
通过部署在所述服务器节点上的轻量级监控器,在所述服务器节点启停或者所述浮动IP重新分配时,通过所述设定广播所述集群中新增或删减的路由信息到所述末端路由器。
5.根据权利要求1所述的方法,其特征在于,所述集群中的容器管理器根据所述浮动IP在所述服务器节点上创建对应的路由规则,包括:
集群中的各个服务器节点中部署的轻量级监听器监测到任意一个浮动IP被应用时,所述集群中的容器管理器根据所述浮动IP在所述服务器节点上创建对应的路由规则。
6.根据权利要求5所述的方法,其特征在于,所述创建对应的路由规则包括:
标签过滤器接收所述浮动IP被接收的通知消息;
将所述浮动IP与物理机之间的绑定关系转发至IP管理组件;
所述IP管理组件根据所述绑定关系和所述通知消息创建路由规则。
7.根据权利要求6所述的方法,其特征在于,所述IP管理组件根据所述绑定关系和所述通知消息创建路由规则,包括:
所述IP管理组件控制分配好的浮动IP以辅助IP的形式绑定在容器管理器所在的节点主网卡上,以创建路由规则。
8.一种物理路由信息的动态更新装置,其特征在于,包括:
服务获取模块,用于获取集群中运行在当前容器中的服务,以及为所述服务分配的浮动IP,其中,所述集群包括至少两个服务器节点;
路由规则创建与同步模块,用于指示集群中的容器管理器根据所述浮动IP在所述服务器节点上创建对应的路由规则,并应用设定协议将所述路由规则同步到末端路由器;
路由规则上传模块,用于指示所述末端路由器应用所述设定协议将所述路由规则上传至上一层的核心路由器;
路由信息更新模块,用于指示所述核心路由器应用所述设定协议将所述路由规则同步到边缘路由器,以更新物理路由信息。
9.一种设备,其特征在于,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行权利要求1-7任一项所述的物理路由信息的动态更新方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的物理路由信息的动态更新方法中各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010202535.2A CN111447146B (zh) | 2020-03-20 | 2020-03-20 | 物理路由信息的动态更新方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010202535.2A CN111447146B (zh) | 2020-03-20 | 2020-03-20 | 物理路由信息的动态更新方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111447146A true CN111447146A (zh) | 2020-07-24 |
CN111447146B CN111447146B (zh) | 2022-04-29 |
Family
ID=71653676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010202535.2A Active CN111447146B (zh) | 2020-03-20 | 2020-03-20 | 物理路由信息的动态更新方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447146B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134778A (zh) * | 2020-09-25 | 2020-12-25 | 优刻得科技股份有限公司 | 混合云场景中的动态路由方法、系统、设备和介质 |
CN112929210A (zh) * | 2021-01-25 | 2021-06-08 | 城云科技(中国)有限公司 | 在WebFlux框架搭建的网关路由应用插件的方法、系统及其应用 |
CN113079098A (zh) * | 2021-04-20 | 2021-07-06 | 北京沃东天骏信息技术有限公司 | 路由更新的方法、装置、设备和计算机可读介质 |
CN113992574A (zh) * | 2021-09-30 | 2022-01-28 | 济南浪潮数据技术有限公司 | 一种设置路由器绑定节点优先级方法、系统及设备 |
CN114390101A (zh) * | 2022-01-04 | 2022-04-22 | 上海弘积信息科技有限公司 | 一种基于BGP组网的Kubernetes负载均衡方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
US20140059226A1 (en) * | 2012-08-21 | 2014-02-27 | Rackspace Us, Inc. | Multi-Level Cloud Computing System |
CN104270464A (zh) * | 2014-10-22 | 2015-01-07 | 西安未来国际信息股份有限公司 | 一种云计算虚拟化网络架构及优化方法 |
US20150304879A1 (en) * | 2008-11-24 | 2015-10-22 | MeshDynamics | Chirp networks |
CN105049549A (zh) * | 2015-08-07 | 2015-11-11 | 北京思特奇信息技术股份有限公司 | 一种实现浮动ip地址自动漂移的方法和系统 |
CN105915387A (zh) * | 2016-05-31 | 2016-08-31 | 新浪网技术(中国)有限公司 | 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 |
CN106034080A (zh) * | 2015-03-10 | 2016-10-19 | 中兴通讯股份有限公司 | 分布式系统中元数据的迁移方法及装置 |
US20170052807A1 (en) * | 2014-02-20 | 2017-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, apparatuses, and computer program products for deploying and managing software containers |
CN107770066A (zh) * | 2017-10-20 | 2018-03-06 | 成都精灵云科技有限公司 | 一种跨主机、跨VLAN、跨集群的Docker容器导流方法 |
CN108810191A (zh) * | 2018-07-18 | 2018-11-13 | 郑州云海信息技术有限公司 | 基于OpenStack的浮动IP检测方法及系统 |
CN109462511A (zh) * | 2018-12-11 | 2019-03-12 | 中科曙光国际信息产业有限公司 | 网络的建立方法及装置 |
CN110324238A (zh) * | 2019-07-05 | 2019-10-11 | 上海中通吉网络技术有限公司 | 在线客服方法、装置和设备 |
CN110445662A (zh) * | 2019-08-29 | 2019-11-12 | 上海仪电(集团)有限公司中央研究院 | OpenStack控制节点自适应切换为计算节点的方法及装置 |
CN110572288A (zh) * | 2019-11-04 | 2019-12-13 | 河南戎磐网络科技有限公司 | 一种基于可信容器的数据交换方法 |
-
2020
- 2020-03-20 CN CN202010202535.2A patent/CN111447146B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150304879A1 (en) * | 2008-11-24 | 2015-10-22 | MeshDynamics | Chirp networks |
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
US20140059226A1 (en) * | 2012-08-21 | 2014-02-27 | Rackspace Us, Inc. | Multi-Level Cloud Computing System |
US20170052807A1 (en) * | 2014-02-20 | 2017-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, apparatuses, and computer program products for deploying and managing software containers |
CN104270464A (zh) * | 2014-10-22 | 2015-01-07 | 西安未来国际信息股份有限公司 | 一种云计算虚拟化网络架构及优化方法 |
CN106034080A (zh) * | 2015-03-10 | 2016-10-19 | 中兴通讯股份有限公司 | 分布式系统中元数据的迁移方法及装置 |
CN105049549A (zh) * | 2015-08-07 | 2015-11-11 | 北京思特奇信息技术股份有限公司 | 一种实现浮动ip地址自动漂移的方法和系统 |
CN105915387A (zh) * | 2016-05-31 | 2016-08-31 | 新浪网技术(中国)有限公司 | 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 |
CN107770066A (zh) * | 2017-10-20 | 2018-03-06 | 成都精灵云科技有限公司 | 一种跨主机、跨VLAN、跨集群的Docker容器导流方法 |
CN108810191A (zh) * | 2018-07-18 | 2018-11-13 | 郑州云海信息技术有限公司 | 基于OpenStack的浮动IP检测方法及系统 |
CN109462511A (zh) * | 2018-12-11 | 2019-03-12 | 中科曙光国际信息产业有限公司 | 网络的建立方法及装置 |
CN110324238A (zh) * | 2019-07-05 | 2019-10-11 | 上海中通吉网络技术有限公司 | 在线客服方法、装置和设备 |
CN110445662A (zh) * | 2019-08-29 | 2019-11-12 | 上海仪电(集团)有限公司中央研究院 | OpenStack控制节点自适应切换为计算节点的方法及装置 |
CN110572288A (zh) * | 2019-11-04 | 2019-12-13 | 河南戎磐网络科技有限公司 | 一种基于可信容器的数据交换方法 |
Non-Patent Citations (3)
Title |
---|
CHUAN8120: "【每日一学】浮动IP", 《CSDN博客HTTPS://BLOG.CSDN.NET/CHUAN8120/ARTICLE/DETAILS/72769780》 * |
ROLF DRECHSLER: "Safe IP Integration Using Container Modules", 《2014 FIFTH INTERNATIONAL SYMPOSIUM ON ELECTRONIC SYSTEM DESIGN》 * |
王静: "基于飞腾平台的容器虚拟化技术研究", 《CNKI中国优秀硕士论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134778A (zh) * | 2020-09-25 | 2020-12-25 | 优刻得科技股份有限公司 | 混合云场景中的动态路由方法、系统、设备和介质 |
CN112929210A (zh) * | 2021-01-25 | 2021-06-08 | 城云科技(中国)有限公司 | 在WebFlux框架搭建的网关路由应用插件的方法、系统及其应用 |
CN113079098A (zh) * | 2021-04-20 | 2021-07-06 | 北京沃东天骏信息技术有限公司 | 路由更新的方法、装置、设备和计算机可读介质 |
CN113079098B (zh) * | 2021-04-20 | 2023-04-07 | 北京沃东天骏信息技术有限公司 | 路由更新的方法、装置、设备和计算机可读介质 |
CN113992574A (zh) * | 2021-09-30 | 2022-01-28 | 济南浪潮数据技术有限公司 | 一种设置路由器绑定节点优先级方法、系统及设备 |
CN114390101A (zh) * | 2022-01-04 | 2022-04-22 | 上海弘积信息科技有限公司 | 一种基于BGP组网的Kubernetes负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111447146B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111447146B (zh) | 物理路由信息的动态更新方法、装置、设备和存储介质 | |
US11902364B2 (en) | Automatic replacement of computing nodes in a virtual computer network | |
US10089123B2 (en) | Virtual cable modem termination system redundancy in a cable modem network environment | |
CN107947961B (zh) | 基于SDN的Kubernetes网络管理系统与方法 | |
US10033622B2 (en) | Controller-based dynamic routing in a software defined network environment | |
US11398956B2 (en) | Multi-Edge EtherChannel (MEEC) creation and management | |
US8805973B2 (en) | Using routing protocols to migrate a hosted account | |
US20100146148A1 (en) | Using routing protocols to optimize resource utilization | |
US11336573B2 (en) | Service chaining in multi-fabric cloud networks | |
CN110855509B (zh) | 一种新型的云化软件定义分组传送网sptn网络架构的配置方法 | |
CN104584491A (zh) | 提供分布式虚拟路由和交换(dvrs)的系统和方法 | |
CN111510515B (zh) | 一种区分混合应用环境的容器的方法及装置 | |
US20210320817A1 (en) | Virtual routing and forwarding segregation and load balancing in networks with transit gateways | |
JP2022507436A (ja) | データセンターのトラフィック共有方法、装置、デバイスおよび記憶媒体 | |
WO2021173318A1 (en) | Vrf segregation for shared services in multi-fabric cloud networks | |
US10931527B2 (en) | Autonomous configuration system for a service infrastructure | |
US20100146147A1 (en) | Using static routing to migrate a hosted account | |
US20100146121A1 (en) | Using static routing to optimize resource utilization | |
US11023268B2 (en) | Computer system and computer | |
US20230188382A1 (en) | Managing Traffic for Endpoints in Data Center Environments to Provide Cloud Management Connectivity | |
CN112737933B (zh) | 一种基于云场景的网关系统及网关通信方法 | |
Risdianto et al. | Leveraging ONOS SDN controllers for OF@ TEIN SD-WAN experiments | |
CN114390101A (zh) | 一种基于BGP组网的Kubernetes负载均衡方法 | |
CN117044183A (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 |