Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OpenStack 环境中的 NorthStar 控制器安装概述

NorthStar 控制器可以独立或集群模式安装在 OpenStack 环境中。 图 1 说明了独立模式。 图 2 说明了群集模式。请注意,在这两种情况下,每个节点都有一个 NorthStar 控制器应用程序虚拟机和一个 JunosVM。

图 1:OpenStack 环境,独立模式 OpenStack Environment, Standalone Mode
图 2:OpenStack 环境,群集模式 OpenStack Environment, Cluster Mode

测试环境

瞻博网络 NorthStar 控制器测试环境包括以下 OpenStack 配置:

  • OpenStack Kilo 与 Open vSwitch (OVS) 作为 Red Hat 7 主机上的 Neutron ML2 插件

  • OpenStack Juno与Contrail作为Ubuntu 14.04主机上的Neutron ML2插件

  • OpenStack Liberty with Contrail 3.0.2

网络方案

在 OpenStack 上使用虚拟机有两种常见的网络方案:

  • VM 连接到专用网络,并使用浮动 IP 地址与外部网络通信。

    此方案的限制是直接 OSPF 或 IS-IS 邻接在 NAT 后面不起作用。因此,您应该在 JunosVM 和网络设备之间使用 BGP-LS 进行拓扑采集。

  • VM 直接连接或桥接到提供商网络(平面网络)。

    在某些部署中,具有平面网络的虚拟机无法访问 OpenStack 元数据服务。在这种情况下,用于 NorthStar 控制器应用程序虚拟机的官方 CentOS 云映像无法安装 SSH 密钥或启动后脚本,并且您可能无法访问该虚拟机。

    一种解决方法是使用以下过程从 DHCP 命名空间外部访问元数据服务:

    谨慎:

    此过程会中断 OpenStack 系统上的流量。我们建议您在继续操作之前咨询 OpenStack 管理员。

    1. 编辑 /etc/neutron/dhcp_agent.ini 文件,将“enable_isolated_metadata = False”更改为“enable_isolated_metadata = True”。

    2. 停止网络节点上的所有中子代理。

    3. 停止网络节点或为平面网络子网提供服务的节点上的任何 dnsmasq 进程。

    4. 重新启动网络节点上的所有中子代理。

热模板

以下 HEAT 模板随 NorthStar 控制器软件一起提供:

  • northstar310.heat(独立安装)和 northstar310.3实例.heat(群集安装)

    当 NorthStar 控制器应用程序虚拟机和 JunosVM 要连接到可从 OpenStack 外部直接访问的虚拟网络而无需 NAT 时,这些模板可能适用。典型方案包括使用平面网络的虚拟机,或使用 Contrail 作为 Neutron 插件的现有 OpenStack 系统,将虚拟机子网播发到 MX 系列网关设备。

  • Northstar310.floating.heat(独立安装)和 northstar310.3实例.floating.heat(群集安装)

    如果 NorthStar 控制器应用程序虚拟机和 JunosVM 要连接到 NAT 后面的专用网络,并且需要用于一对一 NAT 的浮动 IP 地址,则这些模板可能适用。

我们建议您从 HEAT 模板开始,而不是从头开始手动创建和配置所有资源。您可能仍需要修改模板以适合您的个人环境。

HEAT 模板输入值

提供的 HEAT 模板需要 表 1 中描述的输入值。

表 1:HEAT 模板输入值

参数

默认

笔记

customer_name

(空)

用户选择的名称来标识 NorthStar 堆栈

app_image

CentOS-6-x86_64-GenericCloud.qcow2

使用 Glance 中提供的 Centos 6 云映像名称修改此变量

junosvm_image

Northstar-Junosvm

使用概览中提供的 JunosVM 映像名称修改此变量

app_flavor

m1.大

具有至少 40 GB 磁盘和 8 GB RAM 的 NorthStar 控制器虚拟机的实例风格

junosvm_flavor

m1.小

具有至少 20 GB 磁盘和 2GB RAM 的 JunosVM 的实例风格

public_network

(空)

面向公众的网络的UUID,主要用于管理服务器

ASN

11

用于 BGP-LS 对等互连的主干路由器的 AS 编号

根密码

北极星

根密码

availability_zone

新星

用于生成 VM 的可用性区域

key_name

(空)

您的 ssh 密钥必须提前上传

已知限制

以下限制适用于在虚拟化环境中安装和使用 NorthStar 控制器。

启用 ARP 代理的虚拟 IP 限制

在某些 OpenStack 实现中,启用了 ARP 代理,因此虚拟交换机转发表无法学习数据包目的地(无 ARP 侦听)。相反,ARP 学习基于虚拟机管理程序配置。

这可以防止虚拟交换机获知虚拟 IP 地址已由于高可用性 (HA) 切换而移动到新的主动节点。

除了在连接 NorthStar 虚拟机的网络上禁用 ARP 代理外,目前没有解决此问题的方法。这并不总是可能的或允许的。

如果使用 DHCP 而不是静态 IP 地址,则主机名会更改

如果使用 DHCP 为 NorthStar 应用程序虚拟机(或物理服务器上的 NorthStar)分配 IP 地址,则切勿手动更改主机名。

此外,如果使用 DHCP,则不应将 net_setup.py 用于主机配置。

磁盘大小调整限制

支持云初始化的OpenStack应该根据您选择的版本调整虚拟机磁盘映像的大小。不幸的是,由于虚拟机内的云初始化代理存在问题,CentOS 6 官方云映像不会自动调整大小。

目前唯一已知的解决方法是在首次启动 VM 后手动调整分区大小以匹配分配的磁盘大小。用于调整磁盘大小 (/opt/northstar/utils/resize_vm.sh) 的帮助程序脚本作为 NorthStar 控制器 RPM 捆绑包的一部分包含在内。