部署模型
总结 了解单集群和多集群 CN2。
云原生 Contrail 网络 (CN2) 既可作为单个 Kubernetes 群集中的集成网络平台使用,也可作为多个分布式 Kubernetes 群集的集中式网络平台使用。在这两种情况下,Contrail 都会作为基础架构的集成组件运行,通过观察工作负载的实例化位置并将这些工作负载连接到相应的叠加网络。
单群集部署
云原生 Contrail 网络 (CN2) 可作为单个 Kubernetes 集群中的集成网络平台提供,可观察工作负载的实例化位置,并将这些工作负载连接到相应的叠加网络。
在单群集部署(图 1)中,Contrail 控制器位于 Kubernetes 控制平面中,为主机群集提供网络配置和网络控制平面。Contrail 数据平面组件位于所有节点中,为工作负载提供数据包发送和接收功能。
多集群部署
在多集群部署(图 2)中,Contrail 控制器驻留在其自己的 Kubernetes 集群中,并为其他集群提供网络连接。Contrail 控制器所在的 Kubernetes 群集称为中央群集。容纳工作负载的 Kubernetes 集群称为分布式工作负载集群。
以这种方式集中网络功能不仅可以简化配置和管理,还可以更轻松地应用一致的网络策略和安全性。
图 3 提供了有关此设置的更多详细信息。Contrail 控制器位于中央集群的 Kubernetes 控制平面中,并为其服务的每个工作负载集群包含一个 kubemanager。中央群集中通常没有工作器节点。相反,工作负载驻留在分布式工作负载群集的工作器节点中。Contrail CNI 插件和 vRouter 位于工作负载群集的工作节点中。工作负载群集中的 Kubernetes 控制平面不包含任何 Contrail 控制器组件。
多群集 Contrail 控制器与单群集 Contrail 控制器在两个主要方面有所不同:
- 多集群 Contrail 控制器具有针对每个分布式工作负载集群实例化的 contrail-k8s-kubemanager pod。作为将分布式工作负载集群连接到中央集群的过程的一部分,您可以显式创建并分配一个 contrail-k8s-kubemanager 部署,用于监视影响其分配的工作负载集群的资源更改。
- 多群集 Contrail 控制器使用多群集监视技术来检测分布式工作负载群集中的变化。
多集群 contrail-k8s-kubemanager pod 的功能与其单集群相同。它会监视影响其分配的集群的常规 Kubernetes 资源的更改,并相应地对更改采取行动。
多群集部署中的所有其他 Contrail 组件的行为方式与单群集部署中的行为方式相同。例如,网络控制平面使用 XMPP 与常规 Kubernetes REST 通道之外的数据平面组件进行通信。因此,网络控制平面与它通信的数据平面组件是驻留在同一群集中还是位于不同群集中无关。唯一的要求是数据平面组件是可访问的。