Contrail 概述
总结 了解云原生 Contrail 网络。
本节旨在简要概述 Contrail 解决方案,并可能包含您正在使用的 Kubernetes 发行版中不支持的功能说明。请参阅云原生 Contrail 网络发行说明,了解适用于您的发行版的当前版本中的功能。
所有对 Kubernetes 的引用都是通用的,并非旨在单独说明某个特定的发行版。
Contrail 网络是一种 SDN 解决方案,可自动创建和管理虚拟化网络,跨私有云和公共云无缝连接、隔离和保护云工作负载和服务。
云原生 Contrail 网络将这种丰富的 SDN 功能集本机引入 Kubernetes,用作网络平台和容器网络接口 (CNI) 插件。
云原生 Contrail 网络针对云原生架构进行了重新设计,充分利用了 Kubernetes 提供的优势,从简化的 DevOps 到全包式可扩展性,所有这些都建立在一个高可用性平台上。这些优势包括利用标准 Kubernetes 工具和实践来管理 Contrail 的整个生命周期:
- 使用标准 Kubernetes 和第三方工具管理 Contrail。
- 通过扩展 Kubernetes 控制平面来扩展 Contrail。
- 使用自定义资源定义 (CRD) 配置 Contrail。
- 通过应用更新的清单升级 Contrail 软件。
- 通过删除 Contrail 命名空间和资源(在 OpenShift 上不受支持)来卸载 Contrail。
Contrail 网络不仅仅是一个 CNI 插件,它是一个网络平台,可以为跨多群集计算和存储环境的云原生容器化和虚拟机 (VM) 工作负载提供动态的端到端虚拟网络和安全性,所有这些都从一个中央控制点开始。它支持跨多个租户、团队、应用或工程阶段共享的单一或多群集环境的硬多租户,并扩展到数千个节点。
Contrail 实施包含一组位于 Kubernetes 控制平面中的 Contrail 控制器,每个节点上都有一个 CNI 插件和 vRouter。在工作负载旁边集成完整的 vRouter 为 Contrail 提供了支持各种网络要求的灵活性,从小型单群集到大型数据中心的多群集部署,包括:
- 全叠加网络,包括单群集和多群集部署中的负载平衡、安全性和多租户、弹性和弹性 VPN 以及网关服务
- 高度可用且富有弹性的网络控制器,负责监督网络配置和控制平面的方方面面
- 使用遥测和行业标准监控和展示工具(如 Prometheus 和 Grafana)的分析服务
- 支持 CRI-O 和容器运行时
- 支持容器和虚拟机工作负载(通过 kubevirt)
- 支持 DPDK 数据平面加速
每个 Kubernetes 控制平面节点都包含一个 Contrail 控制器,用于管理在每个节点上运行的一组分布式 vRouter 数据平面。Contrail 控制器会自动检测工作负载配置事件,例如要实例化的新工作负载、正在创建新虚拟网络的网络配置事件、从内部和外部源的路由更新,以及链路和节点故障等意外网络事件。Contrail 控制器在适当情况下报告和记录这些事件,并根据需要重新配置 vRouter 数据平面。
每个 Kubernetes 控制平面节点都有一个 Contrail 控制器。在具有多个控制平面节点的群集中,Contrail 控制器通过使用 iBGP 交换路由保持同步。如果某个控制平面节点关闭,其他节点上的 Contrail 控制器将保留所有数据库信息,并继续不中断地提供网络控制平面。
在辅助角色节点上,每个 vRouter 都与两个 Contrail 控制器建立通信,这样,如果任何一个控制器发生故障,vRouter 可以继续接收指令。
通过本机支持 Kubernetes,Contrail 解决方案利用了 Kubernetes 架构固有的简单性、灵活性、可扩展性和可用性,同时支持丰富的 SDN 功能集,可以满足企业和服务提供商等的要求。企业和服务提供商现在可以使用简化且熟悉的 DevOps 工具和流程管理 Contrail,无需学习新的生命周期管理 (LCM) 范式。
云原生 Contrail 网络的优势
- 为您的叠加数据中心网络提供丰富的网络功能集。
- 在上游和商业 Kubernetes 发行版上部署高度可扩展和高可用性的 SDN 解决方案。
- 使用熟悉的行业标准工具和实践管理 Contrail。
- 利用现有 DevOps 工程师的技能组合,快速启动并运行 Contrail。
- 与瞻博网络交换矩阵设备和交换矩阵管理解决方案结合使用,或使用您自己的交换矩阵。