具有工作负载的一致源因特网协议地址的高可用性出口存取的制作方法

    专利查询2025-11-06  1


    本公开涉及具有工作负载的一致源因特网协议地址的高可用性出口存取。


    背景技术:

    1、软件定义的联网(sdn)涉及通过数据中心(例如,本地(on-premise)数据中心或云数据中心)的物理网络基础设施进行通信的多个主机。多个物理主机所连接到的物理网络可被称为底层网络。每一主机具有一或多个虚拟化端点,例如虚拟机(vm)、容器、docker容器、数据计算节点、隔离用户空间实例、命名空间容器及/或其它虚拟计算实例(vci),它们连接到逻辑覆盖网络,且可通过逻辑覆盖网络进行通信。例如,在主机上运行的vm及/或容器可使用由主机使用隧道协议建立的覆盖网络彼此通信。

    2、容器是依靠虚拟隔离来部署及运行访问共享操作系统(os)内核的应用程序的封装。容器化应用程序,也称为容器化工作负载或“工作负载”,可包含封装到一或多个容器群组(称为pod)中的一或多个相关应用程序的集合。容器化工作负载在容器编排平台上运行,所述平台实现运行具有工作负载及服务的容器所需的大部分操作工作的自动化。此操作工作包含管理容器生命周期所需的广泛事物,包含但不限于供应、部署、缩放(放大及缩小)、联网及负载平衡。

    3、软件是使此类容器化工作负载的部署及操作自动化的实例开源容器编排平台。具体来说,kubernetes可用于创建互连节点的集群,包含(1)运行容器化工作负载的一或多个工作节点(例如,在工作平面中),及(2)在其上运行控制集群的控制平面组件的一或多个控制平面节点(例如,在控制平面中)。控制平面组件做出关于集群的全局决策(例如,调度),且可检测及响应集群事件(例如,当工作负载部署的预期复制未被满足时启动新的pod)。如本文所使用,节点可为物理机,或者经配置以在运行管理程序的物理机上运行的vm。

    4、作为sdn的部分,数据中心中的任意一组vci可通过将它们连接到逻辑交换机来使其跨逻辑层2(l2)覆盖网络进行通信。逻辑交换机是由每一节点(例如,主机或vm)上的一组虚拟交换机共同实施的物理交换机的抽象,所述节点具有连接到逻辑交换机的vci。每一节点上的虚拟交换机作为由每一节点上的管理程序或os以软件实施的受管边缘交换机操作。虚拟交换机为在节点上运行的vci提供分组转发及联网功能。具体来说,每一虚拟交换机使用基于硬件的交换技术在同一节点或不同节点上的vci之间连接及传输数据。

    5、此外,在一些情况下,封装到一或多个容器群组中的一或多个应用程序可部署在单个vm或物理机上。从网络的角度来看,pod内的容器共享相同的网络命名空间,这意味着它们共享相同的因特网协议(ip)地址或与pod相关联的ip地址。

    6、例如容器联网接口(cni)插件的网络插件可用于创建虚拟网络接口,所述虚拟网络接口可由pod用于在数据中心中的sdn基础设施的相应逻辑网络上通信。具体来说,网络插件可为将网络接口(称为pod接口)配置到容器网络命名空间中的运行时可执行文件。网络插件经进一步配置以将网络地址(例如,ip地址)指派给每一创建的网络接口(例如,针对每一pod),且还可添加与接口相关的路由。集群内的pod可使用它们相应的ip地址彼此通信。例如,从源pod发送到目的地pod的分组可包含源pod的源ip地址及目的地pod的目的地ip地址,使得分组通过网络从源pod适当地路由到目的地pod。

    7、节点的pod之间的通信可经由使用在节点中实施的虚拟交换机来完成。每一虚拟交换机可包含在pod之间提供逻辑连接点的一或多个虚拟端口(vport)。例如,第一pod的pod接口及第二pod的pod接口可连接到由它们相应节点的虚拟交换机提供的vport以允许第一pod与第二pod之间的通信。在这种上下文中,“连接到”是指传送网络业务(例如个别网络分组,或者分组描述符、指针、识别符等)以便在软件组件之间实施虚拟数据路径的能力。

    8、虽然集群内的pod可使用它们相应的ip地址彼此通信,但pod的ip地址不一定可在集群外部路由。因此,可对从集群内的pod发送到集群外部的目的地的出口分组执行源网络地址转换(snat)。具体来说,从集群内的pod发送的出口分组可包含可在集群内路由的pod的ip地址(例如,10.1.1.2)作为源ip地址,此类ip地址被称为基于仅可在集群内路由的内部ip地址的pod的内部ip地址。可例如在充当用于集群外部通信的pod的出口网关的节点(称为出口节点)处对出口分组执行snat。snat将内部ip地址转换为出口ip地址(例如,192.168.1.1),其中出口ip地址可在集群外部路由。因此,分组中的源ip地址从内部ip地址改变为出口ip地址。

    9、出口ip地址可为运行pod的节点的ip地址。因此,对于在同一节点上运行的所有pod,每一pod的内部ip地址的snat(每一pod具有不同内部ip地址)将导致转换到相同出口ip地址。此外,在给定pod的多个实例(例如,副本)(pod的实例也被称为pod实例)(例如对应于特定应用程序/工作负载)在不同节点上运行的情况下,在不同节点上运行的pod实例的内部ip地址的snat将导致转换到不同出口ip地址。虽然这种snat允许pod与集群外部的目的地建立外部连接,但转换可能给使用源ip地址来识别客户端应用程序的防火墙或应用程序造成困难。

    10、例如,由于在同一节点上运行的不同应用程序的pod与相同出口ip地址相关联,因此来自不同应用程序的集群外部的所有出口分组将具有相同源ip地址。因此,如果防火墙策略由集群外部的防火墙基于出口分组标头内的源ip地址应用于此类出口分组,那么相同策略可应用于所有出口分组,即使它们与不同应用程序相关联也如此。因此,将不同防火墙策略指派给不同应用程序可能不可行,这是不合意的。

    11、作为另一实例,由于在不同节点上运行的相同应用程序/工作负载的多个pod实例与不同出口ip地址相关联,因此来自相同应用程序/工作负载的集群外部的不同出口分组可具有不同源ip地址。因此,为了基于源ip地址将防火墙策略应用于与相同应用程序/工作负载相关联的所有出口分组,可能需要将防火墙策略应用于每一不同出口ip地址。此外,由于pod可在节点之间移动,因此pod的出口ip地址将相应地改变。因此,防火墙策略可能不断地需要随着改变的出口ip地址进行更新,这可能是不可行或不可取的。


    技术实现思路

    1、一个实施例包含一种用于为包括一或多个pod的出口pod集配置出口节点的方法。所述方法包含选择节点集群中的节点来充当所述出口pod集的所述出口节点,其中所述出口pod集被分配多个出口因特网协议(ip)地址。所述方法进一步包含基于所述出口节点的ip地址将所述多个出口ip地址中的出口ip地址确定为所述出口pod集的活动出口ip地址。所述方法进一步包含配置所述出口节点以接收目的地ip地址被设置为所述活动出口ip地址的分组。

    2、另一实施例包含一种用于为包括一或多个pod的出口pod集配置出口节点的方法。所述方法包含选择节点集群中的节点来充当所述出口pod集的所述出口节点,其中所述出口pod集被分配单个出口因特网协议(ip)地址,且其中所述单个出口ip地址在所述出口节点的子网的无类域间路由(cidr)块之外。所述方法进一步包含配置具有静态路由的路由器以将所述出口节点与所述单个出口ip地址相关联。

    3、进一步实施例包含一或多种存储指令的非暂时性计算机可读存储媒体,所述指令当由一或多个处理器执行时使所述一或多个处理器执行上文阐述的一或多个方法中的一或多者,及一种包含至少一个处理器及至少一个存储器的计算机系统,所述计算机系统经配置以实行上文阐述的一或多个方法中的一或多者。


    技术特征:

    1.一种用于为包括一或多个pod的出口pod集配置出口节点的方法,所述方法包括:

    2.根据权利要求1所述的方法,其中所述节点集群定位于多个子网中,且其中所述多个出口ip地址中的每一者与所述多个子网中的不同子网相关联。

    3.根据权利要求2所述的方法,其中所述多个出口ip地址按照优先顺序排序,且其中选择所述节点包括基于所述节点的子网、所述多个出口ip地址的子网及所述多个出口ip地址的所述优先顺序来选择所述节点。

    4.根据权利要求1所述的方法,其中选择所述节点包括基于与所述节点相关联的出口pod集的数量来选择所述节点。

    5.根据权利要求1所述的方法,其中配置所述出口节点包括所述出口节点经由地址解析协议arp或邻居发现协议ndp将所述活动出口ip地址通告为与所述出口节点相关联。

    6.根据权利要求1所述的方法,其中配置所述出口节点包括将所述活动出口ip地址配置为所述出口节点的辅助ip地址。

    7.根据权利要求1所述的方法,其进一步包括:

    8.根据权利要求7所述的方法,其进一步包括基于所述源ip地址将防火墙策略应用于所述分组。

    9.一或多种包括指令的非暂时性计算机可读媒体,所述指令当由计算系统的一或多个处理器执行时使所述计算系统执行用于为包括一或多个pod的出口pod集配置出口节点的操作,所述操作包括:

    10.根据权利要求9所述的一或多种非暂时性计算机可读媒体,其中所述节点集群定位于多个子网中,且其中所述多个出口ip地址中的每一者与所述多个子网中的不同子网相关联。

    11.根据权利要求10所述的一或多种非暂时性计算机可读媒体,其中所述多个出口ip地址按照优先顺序排序,且其中选择所述节点包括基于所述节点的子网、所述多个出口ip地址的子网及所述多个出口ip地址的所述优先顺序来选择所述节点。

    12.根据权利要求9所述的一或多种非暂时性计算机可读媒体,其中选择所述节点包括基于与所述节点相关联的出口pod集的数量来选择所述节点。

    13.根据权利要求9所述的一或多种非暂时性计算机可读媒体,其中配置所述出口节点包括所述出口节点经由地址解析协议arp或邻居发现协议ndp将所述活动出口ip地址通告为与所述出口节点相关联。

    14.根据权利要求9所述的一或多种非暂时性计算机可读媒体,其中配置所述出口节点包括将所述活动出口ip地址配置为所述出口节点的辅助ip地址。

    15.一种计算机系统,所述计算机系统包括:

    16.根据权利要求15所述的计算机系统,其中所述节点集群定位于多个子网中,且其中所述多个出口ip地址中的每一者与所述多个子网中的不同子网相关联。

    17.根据权利要求16所述的计算机系统,其中所述多个出口ip地址按照优先顺序排序,且其中选择所述节点包括基于所述节点的子网、所述多个出口ip地址的子网及所述多个出口ip地址的所述优先顺序来选择所述节点。

    18.根据权利要求15所述的计算机系统,其中选择所述节点包括基于与所述节点相关联的出口pod集的数量来选择所述节点。

    19.根据权利要求15所述的计算机系统,其中配置所述出口节点包括所述出口节点经由地址解析协议arp或邻居发现协议ndp将所述活动出口ip地址通告为与所述出口节点相关联。

    20.根据权利要求15所述的计算机系统,其中配置所述出口节点包括将所述活动出口ip地址配置为所述出口节点的辅助ip地址。


    技术总结
    本公开涉及具有工作负载的一致源因特网协议地址的高可用性出口存取。本公开提供用于为包括一或多个pod的出口pod集配置出口节点的系统及方法。所述出口pod集可被分配一或多个出口因特网协议IP地址。可在包含所述一或多个pod的集群中的节点中选择所述出口节点。所述出口节点可经配置为在所述一或多个出口因特网协议IP地址中选择的出口IP地址的路由目的地。

    技术研发人员:田泉,沈建军,韩东海,辛书阳,W·邱
    受保护的技术使用者:威睿有限责任公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-31708.html

    最新回复(0)