CN115904608A - 控制平面配置 - Google Patents
控制平面配置 Download PDFInfo
- Publication number
- CN115904608A CN115904608A CN202210435717.3A CN202210435717A CN115904608A CN 115904608 A CN115904608 A CN 115904608A CN 202210435717 A CN202210435717 A CN 202210435717A CN 115904608 A CN115904608 A CN 115904608A
- Authority
- CN
- China
- Prior art keywords
- control switch
- control
- switches
- address
- cluster
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0695—Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
-
- 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
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
Abstract
本公开的实施例涉及控制平面配置。示例涉及包括被通信地连接到控制平面的工作节点集群的系统。控制平面包括第一控制交换机和第二控制交换机。控制交换机被配置有虚拟IP地址。IP地址与在主动模式下操作的控制交换机相关联。控制交换机经由虚拟IP地址与工作节点集群通信。键值数据库的单个实例被部署在第一控制交换机和第二控制交换机中的在主动模式下操作的一个控制交换机上,并且第一控制交换机和第二控制交换机通过分布式块系统被功能地耦接以用于数据同步。
Description
背景技术
在传统计算系统中,应用可以存储在存储介质(例如,存储器)中并使用在计算系统上可用的处理资源来执行。作为传统计算系统的备选方案,虚拟机(VM)可以从计算系统的硬件中抽象。多个VM可以在单个计算系统上运行,或者单个VM可以在多个计算系统上运行。每个VM可以使用客户操作系统,客户操作系统可以是用于运行操作系统的硬件的虚拟副本。每个VM可以运行一个应用。将这种抽象提升到更高级别,容器(container)可以运行使用虚拟化操作系统的应用。容器可以是软件的可执行单元,包括用于运行应用的代码、工具、库和/或设置。与使用客户操作系统的VM相比,容器可以更快且重量更轻。
附图说明
在以下详细描述中并参考附图描述了某些示例,在附图中:
图1是根据本公开的一些实施例的计算系统的框图。
图2是根据本公开的一些示例的容器协调平台的框图。
图3是根据本公开的一些示例的容器协调平台和控制平面的框图。
图4是根据本公开的一些实施例的图示其存储机制的计算系统的框图。
图5是根据本文中所讨论的各种示例的用于将控制平面角色指派给计算系统中的控制交换机的示例方法的流程图。
具体实施方式
诸如服务器的计算系统可以用于运行某些应用或程序。多个应用可以在单个计算系统上运行。在这样的实例中,应用中的一个应用可能需要更多资源,这可能影响其余应用的性能。相反,可以针对每个应用使用专用计算系统。这样的方法可能导致计算系统的资源未充分利用。作为传统计算系统的备选方案,虚拟机(VM)可以被认为是用于运行应用的流行机制。VM的多个实例可以在物理计算资源上运行。每个VM可以有其操作系统(OS)实例,因此,应用可以与自己的VM隔离。在进一步的抽象级别中,可以考虑使用容器来运行应用。容器可以类似于VM,但是也可以虚拟化操作系统,诸如OS内核。由于容器与底层基础设施(例如,硬件和OS)分离,因此容器是轻量级和可移植的。在部署环境中,容器管理可以用于管理容器化应用,以实现高可用性。容器协调架构可以用于部署、缩放和/或管理容器化应用等。
容器协调架构可以包括用于管理各种计算资源和控制数据流的控制平面。各种计算资源可以是运行容器化应用的工作节点集群。通常,为了容错和高可用性,控制平面可以在独立于工作节点集群的多个节点上运行。例如,作为示例,典型的容器协调平台可以具有由用于管理功能的三个节点(例如,服务器)以及用于在这三个节点之间进行负载平衡的两个节点形成的控制平面。在一些实例中,容器协调平台可以包括部署在三个节点/服务器上的分布式存储系统,诸如etc分布式(etcd)类型的分布式存储系统。三节点etcd配置可以基于基于Raft/leader-election技术来提供高可用性。此外,控制平面可以通过负载均衡器与工作节点集群通信,负载均衡器可以由两个节点形成。
在一些生产环境中,诸如边缘实现,容器协调基础设施(诸如,具有上述配置的容器协调基础设施)可以物理地部署在靠近终端用户或数据生成点的位置处。边缘实现处的空间可用性可能比数据中心处的空间可用性更受限制。小型服务器机架可能适合这样的有限可用空间。此外,容器协调架构的控制平面可能占用服务器机架中可用总空间的很大比例,例如,20-35%或在一些实例中超过可用总空间的50%。其余空间可以用于容纳有限数量的工作节点,诸如用于运行容器化应用的服务器。
本公开的某些示例涉及容器协调平台。容器协调平台可以包括用于控制平面功能的一对控制交换机。在一些示例中,这对控制交换机可以是基于以太网的交换机。控制平面功能可以包括管理工作节点集群和工作负载,诸如豆荚(pod)、容器(container)等。这对控制节点使工作节点与工作节点集群之间的联网能够在网络外通信。在一些示例中,为了提供容器协调和控制平面功能,一个控制交换机可以在主动模式下操作,而另一个控制交换机可以在被动模式(即,待命模式)下操作。在被动模式下,控制交换机可以执行交换操作,但是不执行任何控制平面功能。交换操作可以包括从源接收数据并将该数据转发到目的地(例如,数据链路/层2功能)和/或使用路由功能(例如,层3功能)发送数据。控制功能可以包括维护容器协调平台的状态和配置、容器和/或豆荚在数据平面资源上的运行等。数据可以包括工作节点的操作状态、以及各种豆荚应该在哪些工作节点上运行或当前正在运行哪些工作节点。在一些示例中,可以在控制平面与工作节点集群之间提供虚拟互联网协议地址以用于通信。此外,键值数据库的单个实例可以在主动的控制交换机上可用。键值数据库的示例可以包括etc分布式(etcd)或类似的键值数据库。键值数据库可以被配置为存储与工作负载相关的数据,包括容器、工作节点集群的状态等。在一些示例中,网络镜像系统可以将数据从主动的控制交换机复制到待命的控制交换机。主动的控制交换机可以周期性地将其主动状态通告给被动的控制交换机。基于未能接收到主动状态通告,被动的控制交换机接管对工作节点集群和工作负载的管理。控制平面框架提供了具有可扩展性和故障转移选项的弹性系统,以实现高可用性,同时针对边缘部署保持实质上非常小的外形尺寸。
本公开的示例涉及能够容纳用于处理工作负载的更大的工作节点集群的容器协调平台。一对控制交换机(诸如,架顶式交换机)被配置为在服务器机架配置上以最小的占用空间执行控制平面功能。因此,与传统容器协调平台相比,可以在机架中释放空间以容纳额外的工作节点。在一些示例中,与传统容器协调平台相比,标准机架配置可以容纳更大的工作节点集群。控制平面可以利用机架单元配置的一小部分。例如,一对架顶式交换机可以被配置为形成控制平面。具有集成管理和联网操作的一对控制交换机(即,控制平面)可以减少控制平面的物理占用空间,为工作节点集群释放额外的空间。从以下描述中可以理解本公开的其他特征和优点。
以下讨论涉及本公开的各种示例。本文中所公开的示例不应被解释或以其他方式使用为限制本公开的范围(包括权利要求)。此外,以下描述具有广泛的应用,并且对任何示例的讨论仅旨在描述该示例,而不旨在暗示包括权利要求在内的本公开的范围仅限于该示例。在整个本公开中,术语“一个”和“一”旨在表示至少一个特定元素。此外,如本文中所使用的,术语“包括”是指包含但不限于此。术语“基于”意指“至少部分基于”。
现在参考附图,图1是表示根据一些示例的计算系统100的框图。计算系统100可以对应于容器协调平台,其可以用于自动化容器化应用的部署、缩放和管理。在本文中,容器可以类似于虚拟机(VM),但是具有操作系统(OS)虚拟化的进一步抽象。容器可以共享对OS内核的访问,并且可以置于VM或物理计算设备中。在一些示例中,可以将一个或多个容器分组以用于协同定位和/或协同调度。例如,给定容器组的容器可以紧密耦接,使得容器组内的容器可以属于相同的逻辑主机,即相同的物理机或虚拟机。一个或多个容器的组可以形成一个豆荚(pod)。豆荚的容器可以共享存储和网络资源。可以在部署期间创建豆荚。一个豆荚可以与一个工作节点相关联,直到该特定豆荚终止或删除为止。每个容器可以包括可执行文件、二进制代码、库和配置文件。根据一些示例,可以经由诸如计算系统100的容器协调平台来部署、缩放和以其他方式管理容器,特别是容器组。
在一些示例中,计算系统100可以是具有经定义的控制平面115和数据平面120的网络架构。控制平面115可以功能地连接到数据平面120,并且被配置为管理用于在数据平面120上执行一个或多个工作负载的计算能力。工作负载的示例可以包括但不限于容器化应用、容器、豆荚、虚拟机等。在一些示例中,控制平面115可以包括第一控制交换机125和第二控制交换机130,它们被配置为提供容错和高可用性以管理虚拟化工作负载。控制交换机125、130被配置为执行计算、管理和联网操作。
数据平面包括工作节点145-1、145-2、…和145-N的集群。在下文中,工作节点集群由附图标记“145”统一指代。工作节点集群145的示例可以包括服务器集群。在一些附加示例中,工作节点集群145可以托管应用豆荚(application pod),其可以是用于执行应用的基本块。每个工作节点145-1、145-2、...或者145-N可以包括处理器或微控制器和/或任何其他电子组件、或者启用计算和/或存储操作的设备或系统。在一些示例中,工作节点集群145可以是具有相似硬件和/或软件的同质类型。在一些其他示例中,工作节点集群145可以是具有不同硬件和/或软件配置的异构类型。
作为附加示例,工作节点集群145可以具有高端计算能力。此外,一些工作节点可以促进强大的数据安全性,并且某些工作节点可以具有增强的热能力。在一些示例中,工作节点可以包括但不限于其他容器协调系统、容器协调系统集群、计算设备、工作站、台式计算机、膝上型计算机、智能手机、存储系统、存储阵列、或者融合或超融合系统等。
在一些示例中,计算系统100可以部署在一个或多个机架单元105中。示例计算系统100包括单个机架外形尺寸(form factor),即部署在机架单元105上。控制交换机125、130可以是设置在机架单元105上的架顶式(ToR)交换机。工作节点集群145可以设置在机架单元105中。作为说明性示例,由控制交换机125、130形成的控制平面115可以占据计算系统100的可用总空间的10%-20%。机架单元105中的其余80%-90%的空间可以用于部署工作节点集群145。即使在小型机架单元配置中,控制平面115占用最小空间,并且可以为作为主要工作负载处理成员的工作节点145(例如,服务器)集群保留大量空间。在一些示例中,计算系统可以使用多于一个的机架单元,并且控制交换机125、130可以在这样的配置下设置在不同的机架单元上。
在一些示例中,每个控制交换机125、130可以包括具有联网和处理能力的以太网交换机。例如,每个控制交换机125、130可以包括网络接口组件、以太网端口等,用于与工作节点集群145之间的连接。另外,第一控制交换机125和第二控制交换机130被配置有虚拟互联网协议(IP)地址。控制交换机125、130经由虚拟IP地址与工作节点集群145通信,这在图2的示例中详细说明。此外,具有网络镜像系统的存储系统的单个实例被部署在控制平面115中,用于存储数据、工作负载的状态和工作节点的状态,这在图3和图4的示例中进一步详细说明。
在一些另外的示例中,计算系统100可以部署在边缘位置。在本文中,“边缘位置”可以指代可以接近终端用户的物理位置。终端用户可以以低延时访问用于运行与计算/存储/联网功能相关的应用的服务,这可能是由于数据可能必须穿越的距离减小的原因。示例部署可以包括电信服务,诸如第五代(5G)电信标准。计算系统100可以部署在蜂窝服务提供商的基站附近,以高效地处理计算和网络相关应用。在一些示例中,应用可以包括数据密集型领域,诸如物联网(IoT)。本公开的计算系统100可以被部署在深边缘位置(即,远程位置),并且被配置为以小外形尺寸提供高可用性。在一些其他示例中,计算系统100可以部署在组织或企业中,包括但不限于企业、制造、医疗服务、数据密集领域等。
图2是根据一些示例的示例容器协调平台200的框图。图2可以结合以上图1中描述的一些特征,包括控制平面115(在图2中用“215”表示)和工作节点集群145(在图2中用“245”表示)。平台200包括第一控制交换机225和第二控制交换机230。每个控制交换机225、230包括:处理器226、231;存储介质227、232;以及网络接口228、233。这些组件中的一些组件可以参考第一控制交换机225在下面进行详细说明,并且类似的特征/功能也可以应用于第二控制交换机230。
在一些示例中,存储介质227可以是“非暂态计算机可读”类型。存储介质227可以存储使第一控制交换机225执行如本文所讨论的一个或多个特定动作的数据和/或指令。根据一些示例,这样的非暂态存储介质可以是非易失性类型。存储介质227可以是任何电子、磁性、光学或其他物理存储装置。例如,本文中所描述的存储介质可以是随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM))、易失性存储器、非易失性存储器、闪存、存储驱动器(例如,硬盘驱动器(HDD)、固态驱动器(SSD))、任何类型的存储盘(例如,压缩盘、数字多功能盘(DVD)等)等中的任何一项、或者它们的组合。处理器226可以获取、解码和执行存储在存储介质227中的指令以管理工作负载和工作节点245-1、245-2、...、245-N的集群(被统称为“245”),如本文中所描述的。
处理器226可以是物理设备,例如,一个或多个中央处理单元(CPU)、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)专用集成电路(ASIC)、现场可编程门阵列(FPGA)、能够接收和执行存储在机器可读存储介质中的指令的其他硬件设备、或者它们的组合。在一些示例中,网络接口228可以包括物理端口、软件、硬件、固件、电路或其组合。网络接口228的示例可以对应于电气和电子工程师协会(IEEE)802.3以太网接口。
在一些示例中且不作为限制,控制交换机225、230的每个网络接口228、233可以包括具有每端口10千兆位以太网(GbE)至200GbE的速度的多个以太网端口。此外,控制交换机225、230可以包括具有8千兆位的随机存取存储器(RAM)、处理器226、231(诸如,四核或八核处理器)、存储介质227、232(诸如,32千兆位的存储空间,诸如固态驱动器(SSD)等)。备选的控制交换机配置可以基于工作负载要求而用于适当的管理和联网操作。在一些示例中,控制交换机225或230中的一个控制交换机在主动模式下操作,而另一个控制交换机230或225在被动状态下操作以用于故障转移。由控制交换机225、230形成的控制平面215可以做出与工作节点集群245相对应并检测/响应集群事件的全局决策,诸如在与应用需求相关联的某些条件下对豆荚的管理或对豆荚的创建。
此外,在一些示例中,在工作节点集群245(即,数据平面)与控制交换机225、230(即,控制平面)之间提供虚拟互联网协议(IP)地址250。虚拟IP地址250可以基于虚拟路由器冗余协议(VRRP)。与典型的容器协调平台相比,工作节点集群245可以经由虚拟IP地址250与在主动模式下操作的控制交换机通信,而不是负载均衡器。备选地,可以通过使用两个服务器节点来避免使用负载平衡器,从而为工作节点释放额外的空间。在一些示例中,虚拟IP地址250被配置为用作默认网关。例如,192.168.2.130可以是指派给控制平面215的虚拟IP地址250。
此外,第一控制交换机225和第二控制交换机230可以分别具有静态IP地址192.168.2.111和192.168.2.112。虚拟IP地址250可以是浮动互联网协议(IP)地址,其被配置为与对应于在主动模式下操作的控制交换机的IP地址相关联。虚拟IP地址250可以与在主动模式下操作的控制交换机相关联。来自(多个)工作节点的任何请求/通信被定向到处于主动模式的控制交换机。此外,第一虚拟局域网(VLAN)(诸如,VLAN 100)可以用于将控制平面215通信连接到工作节点集群245。工作节点集群245和控制平面215之间的业务可以经由VLAN 100进行传送。在一些示例中,可以提供各种VLAN配置以实现数据和/或服务相关通信的隔离。
在一些示例中,每个控制交换机225、230可以包括存储系统/块设备,诸如用于一致且可靠地存储数据、存储工作节点的状态、容器和豆荚相关信息等的键值数据库。键值数据库的示例可以包括etc分布式(etcd)。键值数据库不限于etcd,也可以使用其他键值数据库或键值存储库。键值数据库可以是用于使用键值对来存储和检索数据的软件或内核。在各种示例中,诸如哈希表的数据结构可以用于基于哈希函数将键映射到值。存储系统以单实例模式提供,由此存储系统在控制交换机中的一个控制交换机上是主动的。通过诸如“VLAN 451”配置的第二VLAN,控制交换机225、230的存储系统可以通过网络镜像系统进行同步。例如,分布式复制块设备(DRBD)255可以用于块设备的网络镜像。在一些示例中,主动的控制交换机(例如,第一控制交换机225)可以协调容器。被动的控制交换机可以包括用于在主动的控制交换机故障期间进行控制的数据(例如,容器协调平台的状态和配置、与运行在工作节点上的容器和/或豆荚相对应的信息、工作节点的状态等)。在一些示例中,网络镜像是经由VLAN 451使用专用网络接口和IP地址执行的。例如,第一控制交换机225和第二控制交换机230可以分别使用IP地址10.1.1.111和10.1.1.112进行同步。VLAN 451可以独立于通过VLAN 100处理的数据业务而操作。
在一些示例中,虚拟IP地址250可以被配置用于高可用性并基于“保活Keepalived”服务。Keepalived可以是软件组件或服务,其可以检测来自主动的控制交换机的通信的丢失,并且可以将虚拟IP地址250与备用的控制交换机相关联。此外,Keepalived可以被配置为执行一个或多个动作,诸如在主动的控制交换机上卸载文件系统和激活DRBD设备以用于读写操作。此外,Keepalived将DRBD设备安装在被动设备上,并且在被提升为主动模式的交换机上启动etcd。被动的控制交换机(例如,第二控制交换机230)可以接收由主动的控制交换机(例如,第一控制交换机225)发送的主动状态通告分组(例如,VRRP通告分组)。(多个)通告分组可以由主动的控制交换机以预定义的间隔发送。基于在预定时间(例如,三个连续实例)内通告分组接收失败,第二控制交换机230可以被提升到主动模式以经由虚拟IP地址250管理工作节点集群245。因此,一对控制交换机225、230(诸如,架顶式(ToR)交换机)为容器协调提供高可用性。在一些示例中,控制交换机225、230可以形成VRRP组,其中一个控制交换机被指派了高优先级以在主动模式下操作。
图3图示了根据一些示例的用于容器协调平台(诸如,图2中所示的平台200)的由一对控制交换机形成的控制平面的框图。图3可以结合来自上述示例的架构的一些特征。第一控制交换机325包括应用程序接口(API)服务器360、配置管理器361、调度器362、etcd363和用于管理操作的其他组件。类似的组件365至368设置在第二控制交换机230上,因此,对第一控制交换机325的组件的讨论也可以适用于第二控制交换机330。
考虑到第一控制交换机325,API服务器360可以是用于在第一控制交换机325的内部组件之间通信的通信组件。此外,第一控制交换机325可以通过其API服务器360并经由虚拟IP地址350与外部组件(即,由工作节点集群345形成的数据平面)通信。配置管理器361可以确定工作节点集群345的当前状态,并且可以确定任何状态改变。基于对任何状态改变的确定,配置管理器361可以解决任何引起状态改变的错误。状态改变的示例可以包括但不限于任何工作节点的故障等。调度器362可以接收来自API服务器360的请求,并且可以将请求指派给从工作节点集群345中选择的一个或多个工作节点345-1、345-2、...、或者345-N。在一些示例中,可以基于一个或多个工作节点345的操作状态来对它们进行选择。在一些实例中,当具有一组资源的工作节点345不可用时,豆荚可以保持在保持状态,直到来自数据平面的(多个)工作节点达到合适的状态。该组资源可以包括用于放置豆荚的处理能力、存储容量和/或联网能力。类似地,第二控制交换机330被配置有类似的组件370至373,并且当在主动模式下操作时可以执行一个或多个动作。
此外,第一控制交换机325包括基于键值的存储系统,诸如etcd363。第一控制交换机325可以从etcd 363检索上述状态数据。在一些示例中,etcd 363在单实例模式下操作,其在主动模式下操作的控制交换机上运行。单实例模式的示例可以包括将存储系统安装在主动的控制交换机上以用于读写操作。在一些示例中,诸如分布式复制块设备(DRBD)355的网络镜像系统或网络块设备可以用于块设备(即,控制交换机325、330的存储系统)的网络镜像。
图4是示例计算系统的框图,其图示了示例计算系统的存储机制。计算系统可以包括在图1至图3中所讨论的一个或多个特征。此外,框图图示了在计算系统400的控制平面415中使用的示例存储机制。控制平面415可以包括一对控制交换机425、430。为了解释与图4相关联的示,第一控制交换机425可以被认为在主动模式下操作,而第二控制交换机430可以被认为在被动模式下操作。
在一些示例中,控制交换机425、430可以支持任何标准操作系统分布的安装。第一控制交换机425包括页高速缓存470、文件系统471、输入输出(I/O)调度器475和用于处理存储磁盘477的磁盘驱动器476。类似的组件480、481、485和486可以在第二控制交换机430上可用。在常规存储机制中,可以将数据写入存储磁盘477,并且可以通过组件470、471、475和476来执行写操作。类似的组件可以在第二控制交换机430中可用。
在一些示例中,DRBD组件(诸如,DRBD 472)可以设置在包括页高速缓存470和文件系统471的上层与包括I/O调度器475和磁盘驱动器476的下层之间。换言之,DRBD组件设置在文件系统471和存储磁盘477之间。DRBD 472可以被配置为执行对应于第一控制交换机425到第二控制交换机430的块设备的网络镜像。DRBD 472可以同步地将任何块写操作镜像到块设备(例如,存储磁盘)。后端的单实例etcd可用于读写操作。在被动模式下操作的控制交换机的后端的存储系统(诸如,etcd)可能无法用于读写操作。本公开的容器协调平台使用一对控制交换机提供具有故障转移和最小化/消除数据丢失的服务的高可用性,这与具有更大占用空间的依赖于基于Raft/leader的技术的用于存储的三节点集群不同。
在一些示例中,控制交换机425、430可以经由网络接口卡(NIC)479、489和对应的网络驱动器478、488连接。在一些示例中,诸如图2中所示的示例,控制交换机425、430可以使用专用VLAN配置(例如,VLAN 451)以及用于块设备的网络镜像的特定IP地址。第一控制交换机425可以使用与其相关联的控制平面415的虚拟IP地址来进行服务491。在所示示例中,第二控制交换机430处于被动模式,并且第二控制交换机430的服务492处于用于故障转移的被动状态。
在一些示例中,在生产环境中或在边缘部署中,在控制交换机425、430之间提供双路径以避免脑裂(split-brain)。例如,一个控制交换机上的两个物理端口可以连接到另一控制交换机上的对应的两个物理端口。在一对交换机425、430之间的一个物理连接发生故障期间,这些交换机可以通过另一个冗余连接通信。因此,两个交换机425、430可能由于它们之间的一个连接失败而不能切换到主动模式。在一些其他示例中,一对控制交换机425、430可能没有大多数投票机制(quorum)(即,奇数个设备来建立选举共识),并且两个交换机可以进入主动模式。这可能导致在处理来自工作节点集群的服务或服务请求时发生冲突。这也可能导致块设备上的状态复制不一致,并且可能导致数据损坏。在一些其他示例中,可以在交换机之间提供多路径以获得更高的冗余以消除脑裂。
控制交换机425、430可以执行数据的实时同步。例如,同步可以基于存储磁盘477到存储磁盘487的网络镜像。在一些示例中,网络镜像可以采用经由第一控制交换机425的DRBD 472、网络堆栈474、NIC驱动器478和NIC 479到NIC 489、网络堆栈484、DRBD 482和存储磁盘487的路径。键值数据库的单个实例可以安装于在主动模式下操作的控制交换机上。即使应用正在修改主动的控制交换机上的数据,也可能发生数据同步。在一些示例中,控制交换机425、430可以被配置有同步复制协议。在同步复制协议下,主动模式下的控制交换机可以对本地存储系统进行写操作,当两个存储磁盘(即,对应于主动交换机和被动交换机)上的写操作完成时,就可以认为是完成了。在主动模式下的控制交换机发生故障期间,被动模式下的控制交换机可以接管。如图2中所讨论的,VLAN 451可以用于存储磁盘的网络镜像的高速连接。在一些示例中但不作为限制,存储磁盘可以以每秒100千兆比特(Gbps)的速度进行网络镜像。
在一些示例中,DRBD系统能够创建和安装文件系统。文件系统可能在/var/lib/etcd有安装点,并且DRBD相关资源可以安装在该安装点。对于单实例操作,可以在主动模式下操作的控制交换机上执行安装。在一些示例中,etcd(例如,etcd 363)可以将其数据库存储在安装点。DRBD 472被耦接到原始设备473,并且可以用于存储元数据。在各种示例中,原始设备473、483可以是磁盘或磁盘分区,磁盘或磁盘分区可以基于DRBD 472、482在控制交换机425、430之间同步。基于被动的控制交换机未能接收通告(例如,与Keeplalived相关的通告)的情况,第一控制交换机325可以停止选择的服务以卸载DRBD 472。此外,可以将第二控制交换机430提升到主动模式,并且将第一控制交换机425降级到待命模式。在一些示例中,Keepalived组件可以在第一控制交换机上卸载文件系统,激活DRBD块482,并且在第二控制交换机430上安装文件系统(诸如,etcd)。计算系统400可以关于控制平面415中的状态改变或控制交换机425、430中的一个控制交换机的可能故障向系统管理员警告。
图5是根据本文中所讨论的示例的用于将控制平面角色指派给计算系统中的一对控制交换机的方法的流程图500。在一些示例中,在505处,该方法可以包括使用一对控制交换机(例如,如根据本文中所讨论的示例的第一控制交换机125、225、325或425和第二控制交换机130、230、330或430)来维护控制平面。控制交换机325、330可以是在机架单元配置中提供的以太网交换机,例如架顶式(ToR)交换机。在一些示例中,维护控制平面可以包括在主动模式下操作一个控制交换机并在被动模式下操作另一控制交换机。
在510处,该方法可以包括维护工作节点集群,包括一个或多个计算、存储和/或联网资源。工作节点集群可以部署在机架单元配置中。工作节点集群形成容器协调平台的数据平面。工作负载可以在数据平面上运行。维护工作节点集群可以包括维护虚拟机或物理机。在一些示例中,每个工作节点由在主动模式下操作的控制交换机管理。一个工作节点可以有托管应用实例的一个或多个豆荚(pod)。此外,基于每个工作节点上的资源的可用性,维护工作节点集群以在其上调度豆荚(pod)。
在515处,该方法可以包括维护用于工作节点集群和控制平面(即,第一控制交换机和第二控制交换机)之间的通信的虚拟IP地址。维护虚拟IP地址可以包括将虚拟IP地址与在主动模式下操作的控制交换机相关联。在一些示例中,工作节点可以经由虚拟IP地址与部署在控制交换机上的API服务器(例如,图3的API服务器360)通信。控制平面可以经由所维护的虚拟IP地址与工作节点、豆荚(pod)或服务通信。基于VRRP的虚拟IP地址(诸如,浮动IP地址)可以是工作节点集群的网关,用于与处于主动模式的控制交换机通信。
在520处,该方法可以包括在主动模式下操作的控制交换机上维护文件系统的单个实例,诸如etcd。维护文件系统的单个实例可以包括在后端操作文件系统,诸如分布式键值存储库。应用、豆荚(pod)或工作节点可以在主动的控制交换机上进行读/写。主动的控制交换机可以与存储系统通信以读取和写入与状态和配置相关的信息。在一些示例中,该方法还可以包括维护网络镜像系统,用于将主动模式下的控制交换机的存储系统与被动模式下的控制交换机的存储系统进行镜像。网络镜像系统的示例可以包括DRBD。维护网络镜像系统可以包括将来自主动的控制交换机的状态和配置数据镜像到被动的控制交换机。例如,从主动的控制交换机的存储磁盘写入的数据可以同时网络镜像到被动的控制交换机的存储磁盘,而不会干扰工作负载。存储磁盘可以用于网络镜像,并且读/写访问可以仅限于DRBD以复制数据。
尽管上述示例可以参考用于向网络组件指派角色的特定机制,但是可以根据本文中所描述的原理使用用于向网络组件指派角色的任何其他适当机制。
在本文中所描述的一些示例中,硬件与编程的组合可以以多种不同方式实现。例如,用于控制交换机(例如,控制交换机325、330)的编程可以是存储在至少一个非暂态计算机可读存储介质上的处理器可执行指令,并且用于控制交换机325、330的硬件可以包括用于执行那些指令的至少一个处理资源。在一些示例中,硬件还可以包括其他电子电路以至少部分地实现控制交换机325、330的(多个)操作中的至少一个。在这样的示例中,至少一个计算机可读介质可以存储指令,当由至少一种处理资源执行指令时,至少部分地实现一些或所有的(多个)操作。在这样的示例中,计算设备可以包括存储指令的至少一个计算机可读存储介质和用于执行指令的至少一个处理资源。
在前述描述中,阐述了大量细节,以提供对本文中所公开的主题的理解。然而,在没有这些细节中的一些或全部的细节情况下,也可以实践这些示例。其它示例可以包括对上面所讨论的细节的修改和变形。旨在使所附权利要求覆盖这样的修改和改变。
Claims (20)
1.一种系统,包括:
工作节点集群;以及
控制平面,被功能地连接到所述工作节点集群,其中所述控制平面包括:
第一控制交换机;以及
第二控制交换机,其中
所述第一控制交换机和所述第二控制交换机被配置有:
浮动互联网协议IP地址,用以与所述第一控制交换机和所述第二控制交换机中的一个控制交换机相关联,并且所述控制平面和所述工作节点集群经由所述浮动IP地址在所述控制平面与所述工作节点集群之间通信;以及
键值数据库的单个实例,被部署在所述第一控制交换机和所述第二控制交换机中的在主动模式下操作的一个控制交换机上,并且所述第一控制交换机和所述第二控制交换机通过分布式块系统被功能地耦接以用于数据同步。
2.根据权利要求1所述的系统,其中所述第一控制交换机和所述第二控制交换机是架顶式ToR交换机配置。
3.根据权利要求1所述的系统,其中所述第一控制交换机在所述主动模式下操作,并且所述第二控制交换机在被动模式下操作,并且所述第二控制交换机周期性地从所述第一控制交换机接收主动状态通告。
4.根据权利要求3所述的系统,其中响应于在预定时间内未能接收到所述主动状态通告,所述第二控制交换机能够确定所述第一控制交换机已发生故障并且通过Keepalived组件将所述第二控制交换机提升到所述主动模式。
5.根据权利要求4所述的系统,其中所述Keepalived组件被设置在所述第一控制交换机与所述第二控制交换机之间,其中所述Keepalived组件将所述浮动IP地址与所述第二控制交换机相关联,并且在所述第一控制交换机上卸载键值数据库。
6.根据权利要求1所述的系统,其中所述键值数据库的单个实例是etc分布式etcd系统。
7.根据权利要求1所述的系统,其中所述分布式块系统是分布式复制块设备DRBD。
8.根据权利要求1所述的系统,其中所述分布式块系统通过第一虚拟局域网VLAN并通过所述浮动IP地址在所述第一控制交换机与所述第二控制交换机之间同步数据。
9.根据权利要求1所述的系统,其中所述第一控制交换机和所述第二控制交换机通过第二虚拟局域网VLAN经由所述浮动IP地址被通信地耦接到所述工作节点集群。
10.根据权利要求1所述的系统,其中所述浮动IP地址包括虚拟互联网协议IP地址,并且所述虚拟IP地址基于虚拟路由器冗余协议VRRP。
11.根据权利要求10所述的系统,其中所述键值数据库的单个实例包括安装与所述第一控制交换机和所述第二控制交换机中的在所述主动模式下操作的一个控制交换机相对应的数据库。
12.根据权利要求1所述的系统,其中所述第一控制交换机包括第一存储磁盘,并且所述第一存储磁盘经由网络镜像机制与所述第二控制交换机的第二存储设备同步。
13.一种形成针对容器协调平台的控制平面的一对控制交换机,所述一对控制交换机被连接到工作节点集群,所述一对控制交换机包括:
第一控制交换机;以及
第二控制交换机,其中
所述第一控制交换机和所述第二控制交换机被配置有虚拟互联网协议IP地址,所述虚拟IP地址用于与所述第一控制交换机和所述第二控制交换机中的一个控制交换机相关联,并且所述控制平面和所述工作节点集群经由所述虚拟IP地址在所述控制平面与所述工作节点集群之间通信;以及
键值数据库的单个实例被部署在所述第一控制交换机和所述第二控制交换机中的在主动模式下操作的一个控制交换机上,并且所述第一控制交换机和所述第二控制交换机通过分布式块系统被功能地耦接以用于数据同步。
14.根据权利要求13所述的形成控制平面的一对控制交换机,其中所述第一控制交换机和所述第二控制交换机被部署在同一机架单元上。
15.根据权利要求13所述的形成控制平面的一对控制交换机,其中所述第一控制交换机被部署在第一机架单元上,并且所述第二控制交换机被部署在与所述第一机架单元不同的第二机架单元上。
16.根据权利要求13所述的形成控制平面的一对控制交换机,其中所述控制平面被设置在占用10%至20%空间的机架单元配置上。
17.根据权利要求13所述的形成控制平面的一对控制交换机,其中所述工作节点集群包括一个或多个服务器,所述一个或多个服务器用于运行计算、存储或联网应用中的一项或多项。
18.根据权利要求13所述的形成控制平面的一对控制交换机,在所述主动模式下操作的所述第一控制交换机被配置为管理所述容器协调平台的工作负载,其中所述工作负载包括容器化应用、容器、豆荚、或者虚拟机中的至少一项。
19.一种用于实现容器协调平台的方法,包括:
维护控制平面,其中所述控制平面包括第一控制交换机和第二控制交换机,并且所述控制平面被部署在机架单元配置中;
维护工作节点集群,所述工作节点集群被部署在所述机架单元配置中;
维护所述第一控制交换机与所述第二控制交换机之间的虚拟互联网协议IP地址,以用于与所述工作节点集群通信;以及
维护所述第一控制交换机和所述第二控制交换机中的一个控制交换机上的存储系统的单个实例,并且经由网络镜像系统在所述第一控制交换机与所述第二控制交换机之间同步数据。
20.根据权利要求19所述的方法,其中所述存储系统的所述单个实例包括在主动模式下操作的控制交换机上安装所述存储系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/490,588 | 2021-09-30 | ||
US17/490,588 US20230094937A1 (en) | 2021-09-30 | 2021-09-30 | Control plane configuration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904608A true CN115904608A (zh) | 2023-04-04 |
Family
ID=85477186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210435717.3A Pending CN115904608A (zh) | 2021-09-30 | 2022-04-24 | 控制平面配置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230094937A1 (zh) |
CN (1) | CN115904608A (zh) |
DE (1) | DE102022109131A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230231741A1 (en) * | 2022-01-14 | 2023-07-20 | Vmware, Inc. | Per-namespace ip address management method for container networks |
-
2021
- 2021-09-30 US US17/490,588 patent/US20230094937A1/en active Pending
-
2022
- 2022-04-13 DE DE102022109131.7A patent/DE102022109131A1/de active Pending
- 2022-04-24 CN CN202210435717.3A patent/CN115904608A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022109131A1 (de) | 2023-03-30 |
US20230094937A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936335B2 (en) | Path-based migration of control of a multi-path logical device from a current MPIO driver to a target MPIO driver | |
US10728090B2 (en) | Configuring network segmentation for a virtualization environment | |
US20230085566A1 (en) | Distributed file system for virtualized computing clusters | |
US10691568B2 (en) | Container replication and failover orchestration in distributed computing environments | |
US11973643B2 (en) | Distributed data storage techniques for edge devices | |
US8856319B1 (en) | Event and state management in a scalable cloud computing environment | |
US8812566B2 (en) | Scalable storage for virtual machines | |
US20120079090A1 (en) | Stateful subnet manager failover in a middleware machine environment | |
US20210208922A1 (en) | Seamless virtual standard switch to virtual distributed switch migration for hyper-converged infrastructure | |
CN107368358B (zh) | 实现客户端所在虚拟机在不同主机间迁移的装置和方法 | |
CN113504954B (zh) | 调用CSI LVM Plugin插件、动态持久卷供应的方法、系统及介质 | |
CN102652305A (zh) | 虚拟存储目标卸载技术 | |
WO2010022100A2 (en) | Upgrading network traffic management devices while maintaining availability | |
US11550616B2 (en) | Virtual IP support for bare metal cloud infrastructures | |
US20150372935A1 (en) | System and method for migration of active resources | |
US11429411B2 (en) | Fast ARP cache rewrites in a cloud-based virtualization environment | |
CN111147274B (zh) | 为集群解决方案创建高度可用的仲裁集的系统和方法 | |
US11461123B1 (en) | Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations | |
CN115904608A (zh) | 控制平面配置 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
EP3977707B1 (en) | Hardware load balancer gateway on commodity switch hardware | |
US11573839B1 (en) | Dynamic scheduling for live migration between cloud regions and edge locations | |
US11095707B2 (en) | Networking-based file share witness system | |
US11886307B2 (en) | Site locality support for file services in a stretched cluster environment | |
Dell |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |