SDN VMware NSX网络原理与实践- NSX 与 OpenStack【4.1】

10.2 NSX 与 OpenStack 的集成

        上文提到, VMware 致力将 vSphere 打造成最适合运行 Openstack 的平台。本节将对这 个平台进行深入研究,尤其是对 NSX 网络虚拟化平台与 OpenStack 的集成解决方案中, Neutron 网络方面进行剖析。 NSX-V 与 OpenStack 的集成,主要是使用 VIO 的发行版软件来进行的。 借助于该软件, IT 管理员可以在现有 vSphere 平台之上简单、快速、便捷地部署 OpenStack 服务。 VMware VIO 简化的正是 OpenStack 中最繁琐的部署过程。 VMware 与 OpenStack 的集成在网络上可以通过 NSX-V 或 VDS 来部署。由于本书的 重点是 NSX 网络虚拟化平台,因此主要讨论如何通过 NSX-V 来部署 OpenStack。

        如果是 NSX-MH 与 OpenStack 集成,则不需要 VIO 软件, 而是直接将 OpenStack 的 API 与 NSX Manager 的 API 互相开放,使得 OpenStack 在成为多虚拟化环境下的管理者的 同时,成为 NSX-MH 的 CMP。 10.2.1 VIO 发行版软件 VIO 软件,是通过在 vCenter 中,以 vApp 插件形式部署的。如图 10.4 所示,部署完 成之后,就可以在 vSphere Web Client 中看到这个软件的图标,通过这个图标, 可以进入 VMware 提供的一个友好的 UI, IT 管理人员可以使用这个 UI 进行 OpenStack 的各种操作。 部署完成之后,可以方便地通过 VIO 界面,对整个数据中心进行配置和管理,并实现数据中心的自动化。而且用户同样可以通过标准的 OpenStack API 来使用 OpenStack 的服务。 同时, VIO 平台也继承了 OpenStack 强大的可编程性和多虚拟化环境的管理功能。

        VIO 可以将 vSphere 资源连接到 OpenStack 的计算、网络、块存储、映像服务、身份 服务和编排等组件,它在 vSphere 环境中以管理群集和 OpenStack 组件的形式实现,这也是 VIO 两个核心模块。这些功能被一起打包到了一个 OVA 文件中,这个文件包含了管理用的 服务器模板, 以及一个可以部署不同 OpenStack 模板的基于 Ubuntu 的 Linux 虚拟机,用户 之后也可以自行增加更多镜像。 VIO Manager 是 VIO 的管理工具,它在管理群集中为每个计算群集创建一个计算驱动 程序实例。管理群集包含构成 OpenStack 的虚拟机,还包含内存缓存(Memcache)、消息 队列(RabbitMQ)、负载均衡、 DHCP 和数据库服务。 VIO Manager 还提供了一个工作流, 指导 IT 管理人员完成 VIO 的部署过程。 IT 管理人员可以使用 VIO Manager 指定管理和计 算群集、配置网络并添加资源。部署后的 VIO Manager 可以添加 OpenStack 的组件,或修 改 OpenStack 基础架构中的配置。 在 VIO 中, OpenStack 的服务可以使用以下的组件,部署为分布式、高可用的架构。 这些组件如下所示。

 vCenter 实例: VIO 是以 Plugin 的形式加载在 vCenter 中的。
 Active Directory(AD):用于通过 OpenStack 身份服务进行用户身份验证。
 管理群集:包含所有已部署的 OpenStack 组件和管理虚拟机。
 计算群集:这是 Nova 的计算资源。所有租户虚拟机都是在这些计算群集上创建的。
 NSX Edge 群集:包含 Edge 虚拟机,可为逻辑网络提供 Edge 安全和网关服务,并为 OpenStack 网络组件提供 DHCP、 NAT、安全组和路由功能。
 NSX Manager: NSX-V 的集中式网络管理组件,提供了系统的 UI。
 NSX Controller:对数据平面进行控制的组件。
 管理网络:承载管理组件之间的流量。
 API 访问网络:显示 VIO 仪表板,并为租户提供对 OpenStack API 和服务的访问。
 传输网络:连接 Edge 群集和计算群集中的 DHCP 节点。如果使用 NSX 来部署OpenStack 的 Neutron 网络,就没有 DHCP 节点的概念了—只有使用 VDS 来部署 Neutron 才会出现 DHCP 节点。
 外部网络:为 VIO 中创建的实例提供外部访问。
其中管理集群是 VIO 的核心。管理群集包含所有已部署的 OpenStack 组件和管理用的虚拟机,如图 10.5 所示。

        管理集群的组件如下。  OpenStack 控制器,是两台通过双活的模式,运行 Horizon Dashboard、 Nova、 Keystone、 Heat、 Glance 和 Cinder 服务的虚拟机。  Memcached 集群,是高性能的分布式内存对象缓存系统,用于动态 Web 应用,以 减轻数据库负载。它通过在内存中的缓存数据和对象来减少读取数据库的次数,从而提高 Web 服务的访问速度。它也可以配置为双活的工作模式。  RabbitMQ 消息总线集群,是用于所有 OpenStack 服务之间的信息服务。它同样可 以配置为双活的工作模式。

         负载均衡虚拟机,通过主/备的集群方式实现简单的负载均衡功能。  Nova 计算集群,处理所有租户的工作负载。 VIO 在部署上可以拥有多个计算群集。  数据库集群,是 MariaDB Galera 集群,存储了 OpenStack 的元数据。由于这个集群 非常重要,因此一般配置为三节点模式,其中一个节点工作,另外两个节点待机。  对象存储机,运行 Swift 服务。  DHCP 节点,实现 DHCP 服务。之前就提到,如果使用 NSX 来部署 OpenStack 的 Neutron 网络,就没有 DHCP 节点的概念了—只有使用 VDS 来部署 Neutron 才 会出现 DHCP 节点。  VIO Manager Service,用于管理 VIO 的 vApp。

          VIO 模板,用于创建所有 OpenStack 服务虚拟机的基本模板。 在 vSphere 环境下部署 VIO 的逻辑架构如图 10.6 所示。 可以看到, OpenStack 主导的 集中服务,如计算(Nova)、块存储(Cinder)和映像(Glance)、网络(Neutron), 都与 VMware 的一些组件实现了集成—Nova 对应 vCenter, Cinder 和 Glance 对应 VMDK, Neutron 对应 NSX。此外,还可以针对 VMware 优化 OpenStack 的安装和管理。

        如图 10.7 所示,通过 VIO 将 VMware 与 OpenStack 集成之后,就可以通过 OpenStack 的Nova 组件来创建虚拟机模板,然后 vCenter 中的信息就能同步过去。在这里, Nova 在 vCenter 中是以 BLOB(binary large object,二进制大对象)的计算资源存在的。 在部署虚拟机时, Nova 创建的虚拟机或模板会通过 DRS 机制的规则,在 ESXi 主机和集群之上进行部署。

        再来看一个例子。 OpenStack 中的 Cinder 组件可以用来完成存储的配置和删除任务, 它使用了 vSphere 的 VMDK 驱动。如图 10.8 所示, VMDK 驱动收到了请求,需要给 vCenter 创建一个新的存储卷, Cinder 就会创建一个 Shadow 虚拟机,作为最初的存储创建。一旦 创建完成,这个 Shadow 虚拟机就会以存储卷的形式存在。

        在 VIO 中,借用 OpenStack 配置 vSphere, 并允许 vSphere 保留了自己的高级功能,如使用存储的 DRS、存储的 vMotion 这些 VMware 的高级功能,这样,在配置和部署上,既 借用了 OpanStack 灵活、简易的平台,还体现了 VMware 的优势。 而在 VIO 的网络部署中,可以将 NSX-V 用于其网络组件 Neutron。当然,如果客户在 VMware 虚拟化环境中没有使用 NSX-V,也可以使用 VIO,这时 VDS(分布式交换机)就 会成为网络组件,当然功能较 NSX 会有一些缺失。表 10.1 所示为 NSX-V 和 VDS 用于 VIO 网络组件时的功能比较。

        VIO 除了简单化、智能化 OpenStack 的部署(完全的一键式部署, 不需熟悉 OpenStack 的工程师也可以胜任),并在其部署过程中提供了 VMware 才有的高级功能外,还可以和 VMware 其他的高级产品一起使用。 这些高级产品或工具整合了 OpsnStack 之后,可以增强 VIO 的价值,真正使得用户在 SDDC 中受益。  vCenter Operations Manager,即 vCops。 vCops 的管理包可以与 OpenStack 协同工 作。它可以监测 OpenStack 服务的健康状况,并在诸如存储容量达到上限、 Glance 镜像服务停止工作时进行报警。也可以在一些租户的仪表板使用基于 AAA 的功能 (如基于角色的访问控制),作为当租户的业务上线、消费云资源的计费、健康状 况好坏时的权限分配和工作量审查的基准。  VMware LogInsight OpenStack 内容包:配备了供 OpenStack 使用的集中的日志分 析工具和仪表板,包括通过 Nova、 Cinder、错误率、 API 回应时间等搜集的各种 日志信息文件。

        由于本书的重点是 VMware NSX 网络虚拟化,因此通过 VIO 部署计算、存储资源不是 本书要讨论的范围。 前文讲到,可以通过 VDS 或者 NSX-V 部署 VIO 网络。由于 VDS 功 能有缺失—租户无法创建自己的二层网络并且无法使用三层功能及更高级别的网络服 务,如安全组和 NAT 等,因此建议在 Neutron 网络中使用 NSX-V,而 NSX 又是本书重点 讨论的内容,因此,本书只讨论如何使用 NSX-V 部署 VIO 网络。 VIO 中,典型的 NSX-V 部署包括管理群集、计算群集以及 4 个主要网络—API 访问、 管理、传输和外部网络各需要一个单独的专用 VLAN。也可以将 NSX-Edge 节点分离部署 到单独的群集中。这样一来,基于 NSX-V 部署的典型的 VIO 架构就包含 3 个群集和 4 个 VLAN,其基本逻辑架构如图 10.9 所示。

 用于 API 访问的 VLAN:为用户提供通过 API 或 VIO 仪表板访问 OpenStack 服务的权限。
 将管理集群中的所有主机通过 Trunk 连接到该 VLAN。
 可从外部进行访问。
 需要 5 个或更多的连续 IP 地址。
 用于管理网络的 VLAN:承载管理组件之间的流量。
 将管理集群中的所有主机通过 Trunk 连接到该 VLAN。
 将计算集群中的所有主机通过 Trunk 连接到该 VLAN。
 需要 18 个或更多的连续 IP 地址(如果添加 Ceilometer 组件,则需要 21 个)。
 为 vCenter、 NSX Manager、 NSX Controller 三个组件启用对该 VLAN 的二层或三层访问。
 如果在管理集群上部署 NSX Manager 和 NSX Controller 的虚拟机,则必须将其主机通过 Trunk 连接到管理网络。
 用于传输的 VLAN:承载 OpenStack 实例之间的流量。
 将计算群集中的所有主机通过 Trunk 连接该 VLAN。
 将 NSX Edge 集群中的所有主机通过 Trunk 连接到该 VLAN。
 用于外部访问的 VLAN:为外部用户提供对实例的访问权限。需要注意的是,其
MTU 必须设置为支持 1600 个字节。
 将 NSX Edge 集群中的所有主机通过 Trunk 连接到该 VLAN。
如图 10.10 所示,有了这 4 个主要网络, 也就有了使用 NSX-V 部署 VIO 后的网络映射关系。

        了解了 VIO 的架构, 在安装和部署时就非常简单了。首先在 vSphere Web Client 中部 署 VIO 的 OVA。 将 VIO 的 OVA 文件部署为插件并注册后,就可以在 vSphere Web Client 中访问这个插件了。 随后,可以使用 VIO Manager 部署新的 OpenStack 实例,其向导化的部署步骤如下。

1.选择部署方法。
2.检查部署过程。
3.选择管理集群。
4.配置管理网络。
5.配置负载均衡。
6.添加 Nova 集群。
7.添加 Nova 数据存储。
8.添加 Glance 数据存储。
9.配置 Neutron 网络。
10.配置身份验证。
11.配置 Syslog 服务器。
12.完成配置。
        首先,需要选择部署方法。部署方法有如下两种。  使用向导配置新的 OpenStack 实例,需要配置所有的必要信息,包括网络配置、群 集、数据存储等。  使用导出的模板进行向导中的配置,即使用从现有 VIO 部署中导出的 JSON 模板, 将其设置填写到部署向导中。 检查了部署过程和选择了管理集群后,在“配置管理网络”界面,可以为管理网络和 OpenStack API 访问网络提供配置。管理网络将 VIO Manager 和所有 OpenStack 环境中的虚 拟机与 vCenter Server 连接起来, NSX Controller 节点也会连接至此网络。这样一来,用户 就可以通过 API 访问网络访问 OpenStack API 和 OpenStack 仪表板了。需要设置的内容如 下(管理网络和 OpenStack API 访问网络都需要设置如下信息)。  端口组:选择 VIO 部署时配置的端口组。

         IP 范围:指定 IP 地址范围,其中管理网络至少需要 18 个连续的 IP 地址, API 访 问网络至少需要 5 个连续的 IP 地址。  子网掩码。  网关。  DNS 地址。 之后,配置负载均衡并添加 Nova 集群、 Nova 数据存储和 Glance 数据存储后,进入 Neutron 网络的配置。我们就是在这里使用 NSX-V 集成 OpenStack 网络的。在这里,首先 需要选择配置是基于 vSphere Distributed Switch 网络还是基于 NSX-V 网络,需要注意的是, VIO 部署之后无法更改此选项。 如果选择 vSphere Distributed Switch 网络选项,则此后不能 升级或修改为 NSX-V 网络配置,除非重新部署整个 VIO。使用 NSX-V 集成 OpenStack 网络时,需要配置的内容如下所示:
 NSX Manager 的 IP 地址或域名;
 NSX Manager 的用户名和密码;
 NSX 传输区域;
 Edge 群集;
 VDS;
 外部网络;
 元数据服务网络。
        之后,设置 VIO 身份验证,可以指定数据库或 Active Directory 作为 LDAP 服务器。最 后一步是 Syslog 服务器的设置,这是一个可选项。 最后, 检查配置设置,然后单击完成, 整个 OpenStack 的部署就成功了。 值得注意的是,对于基于 NSX-V 的部署,在部署完成后,需要从 NSX 的防火墙排除 列表中加上 VIO Manager 的虚拟机,以确保管理流量不受防火墙规则的影响。

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值