跳转到: 导航, 搜索

QuantumServicesInsertion

OpenStack 网络服务框架和模型

目标

一旦云服务提供商 (CSPs) 获得了提供大规模可扩展云基础设施所需的框架,那么就需要一个新的框架来在其架构之上交付服务。

本文档提出了一种模型及其各自的框架设计,用于部署、管理、监控和控制基于现有 OpenStack 主要组件(如计算、存储和网络)构建的按需网络服务。

我们恳请社区提供反馈,以完善此提案,与我们分享您的评论、建议和想法。

描述

云服务提供商 (SP) 和/或第三方实体部署和管理网络服务涉及多个步骤和阶段。基本上,CSPs 应该能够为其所有客户提供各种服务,例如防火墙、负载均衡、网络加速等,并能够对其使用情况进行计费。

基于 OpenStack,在云计算中部署服务有两种基本模型。第一种是基于为特定服务预先设计的模板构建整个网络和所有必需的组件。第二种是通过提供必要的 API 来按需部署服务,以便定制所获取的服务并使其适应实施的计算和网络基础设施。

本文档的目的是定义最佳的模型来采用和设计此提案的相应框架。无论做出什么决定,服务提供商 (SP) 提供的网络服务的部署和管理都将涉及多个步骤。以下是一些步骤

  1. 服务定义和广告
  2. 服务插入(HA 模型)
  3. 服务连接
  4. 服务监控和保障
  5. 服务管理
  6. 服务统计和计费
  7. 打包和启动
  8. 授权和身份验证
  9. OpenStack 仪表板集成
  10. 存储集成 (swift/lum)

服务定义和广告

网络服务应向 CSP 的客户(租户)宣传。应向所有租户清晰地展示服务的特性、优势和要求。

开放虚拟化格式 (OVF) 提供了一种将要在虚拟机中运行的软件进行分发的标准。我们的工作是确定这是否是前进的方向,或者是否需要其他东西。服务定义阶段非常重要,因为它将有助于了解每个可用服务的计算和网络要求。服务插入

它定义了服务将插入网络的方式以及使其启动并运行所需的配置步骤。有两种类型的服务:单服务和对称服务。

单服务只需要一台服务器来实施其功能,并且通常部署在网络的应用程序服务器端。这些类型服务的示例包括负载均衡器和防火墙等。

对称服务需要在网络的边缘路由器两侧各运行一台服务器,一台用于客户端,一台用于服务器应用程序。这些服务可能了解其配对服务器的配置,但这不是必需的。这些类型服务的示例包括服务应用程序加速器。

服务插入模型

云服务提供商部署和管理网络服务

在这种模型中,CSPs 将为特定租户 VPC 的所有网络流量部署服务。这意味着从公共网络到租户应用程序的所有流量都将通过每个网络服务。让我们描述一个示例来阐明这种模型方法。

CSP 将提供租户可以使用或不使用的网络服务,作为从客户网络到云 SP 获取资源的的基本连接的一部分。下图描述了此场景。

在此场景中,CSP 已为“Enterprise-B”应用程序的所有传入流量部署了防火墙。SP 管理和维护此网络服务(防火墙),而 Enterprise-B 对其没有任何控制权。这种用例对于 CSP 来说,使其相对于其他 CSP 具有竞争力,并增强其客户的连接性能、安全性和可扩展性是有意义的。

Sp-inserting-services.png

租户部署和管理网络服务

在这种模型中,租户将完全控制网络服务,并负责服务的管理和维护。租户将决定他们想要部署哪些服务、在哪里部署它们以及该服务的可用实例数量。

在这种情况下,Enterprise-B 决定为云数据中心的所有流量请求防火墙服务,此防火墙服务由 CSP 部署和维护。Enterprise B 部署并控制网络段“V”的 Web 优化服务和网络“X”上的应用程序控制引擎。另一方面,Enterprise A 不需要 CSP 提供的防火墙服务,因为其网络“Z”已激活 VPN 服务,并且足以满足在网络“Z”上运行的应用程序的需求。

Enterprise-inserting-services.png

服务插入接线模式

无论使用哪种服务插入模型以及将要插入网络的服务的类型,都有不同的模式可以将服务连接到网络。以下是两种提议的配置

  • 路径内(Bump in the Wire)

在这种模式下,服务放置在服务器 VM 的流量路径中,通过将网络分成两部分,并让服务桥接这两部分,从而应用服务。这可以使用当前的 Quantum API 实现。在这种模式下,HA 通过外部监控实体实现,该实体监控服务的运行状况并在其崩溃时杀死/重新启动。

In-path.png

  • 路径外(重定向)

在这种模式下,服务(单个节点或节点集群)放置在正常的流量流路径之外,网关将候选流量集重定向到该服务。在服务提供流量后,它会返回到网关以转发到最终主机。

Out-of-path.png

在这种模式下,HA 通过外部监控实体实现,如在路径内的情况下。此外,VPN 网关还可以监控服务状态并选择做出替代重定向决策。

用例 - 租户部署和管理服务

让我们描述一个 CSP 不仅提供传统的计算资源,还通过 Quantum API 提供网络资源的用例。我们假设 Tenant-A 已经使用三个不同的网络(标识为 Network Z、V 和 X)部署了几个应用程序。此用例中的所有服务都是单服务,并且将使用“路径内”模式插入。

Enterprise-A 想要在 Network-V 和 Network-X 上拥有防火墙服务,并在 Network-X 上拥有 WAN 优化服务。下图显示了插入这两个服务之前的配置和之后的配置。在此用例中,租户将使用 Quantum API 按照第二种服务插入模型插入这两个服务。步骤和 API 调用如下

Enterprise A

创建新的网络和必要的端口

  • create_network (net_name, tenant_id) → network-G
  • create_network (net_name, tenant_id) → network-F
  • create_port (net_id, tenant_id) → Firewall
  • create_port (net_id, tenant_id) → Wan Opt

断开 Network X 和 V 与 GW 之间的接口

  • unplug_iface (tenent_id, net_id, port_id) → network-X
  • unplug_iface (tenent_id, net_id, port_id) → network-V

从 VM 镜像实例化两个服务

  • euca-run-instances (Firewall)
  • euca-run-instances (Wan Opt)

将接口连接到相应的端口

  • plug_iface (tenent_id, net_id, port_id) → From Net-V to FW
  • plug_iface (tenent_id, net_id, port_id) → From Net-F to FW
  • plug_iface (tenent_id, net_id, port_id) → From Net-G to FW
  • plug_iface (tenent_id, net_id, port_id) → From Net-X to Web Opt
  • plug_iface (tenent_id, net_id, port_id) → From Wan Opt to Net-F
  • plug_iface (tenent_id, net_id, port_id) → From Net-G to GW

管理最佳实践

一种解决潜在管理问题的简单方法是,Enterprise 可以创建一个名为管理网络的网络,所有服务都将像我们在上一个图像中显示的那样连接到该网络。

  • create_network (net_name, tenant_id) → management-network
  • create_port (net_id, tenant_id)
  • plug_iface (tenent_id, net_id, port_id) → Firewall
  • plug_iface (tenent_id, net_id, port_id) → Web Opt

Usecase-serviceinsertion.png