文章目录
[隐藏]

一、简介

Openstack网络服务Neutron主要负责网络连接任务,包括租户网络及子网的创建、网卡端口配置、访问IP地址管理以及高级网络服务(负载均衡DBaas、防火墙FwaaS)功能。以上功能通过不同的插件和代理来实现二层、三层及四七层网络虚拟化,常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理,插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。

Neutron的组成如下:

  • Neutron-server:接收和路由API请求到合适的OpenStack网络插件,以达到预想的目的;
  • OpenStack网络插件和代理:插拔端口,创建网络和子网,以及提供IP地址,这些插件和代理依赖于供应商和技术而不同,OpenStack网络基于插件和代理为Cisco 虚拟和物理交换机、NEC OpenFlow产品,Open vSwitch,Linux bridging以及VMware NSX 产品穿线搭桥。

二、部署脚本

2.1 网络节点独立部署

为了减轻网络的负载,网络服务在单独节点上(三个网络节点上)进行部署,但为了方便Neutron API的统一管理与调用,Neutron Server是部署在控制节点上,即Neutron需要在控制节点上配置neutron的管理和ml2插件配置,需要在网络节点上配置neutron-openvswitch-agent、 neutron-l3-agent、neutron-dhcp-agent和neutron-metadata-agent服务,以及创建外网访问br-ex网桥配置。网络服务架构,计算节点上安装配置neutron-openvswitch-agent和openvswitch服务,服务架构同下图类似:

此外,由于本部署采用了HA高可用架构,同三个控制节点上管理集群类似,在三个网络节点同样安装了pacemaker集群管理软件,用于网络节点上neutron-openvswitch-agent、 neutron-l3-agent、neutron-dhcp-agent和neutron-metadata-agent服务的高可用配置。

首先在控制节点上通过0-set-config.sh设置网络节点配置信息:

然后执行安装脚本install-configure-neutron.sh,会完成neutron的所有配置安装,install-configure-neutron.sh在完成控制节点上配置,会调用 install-configure-pacemaker-networkers.sh脚本进行网络节点HA集群部署,然后调用install-configure-neutron-networkers.sh完成网络节点上服务配置及br-ex外网网桥创建及配置。

PS. 网络节点单独部署优势不仅可以减少虚拟机访问的网络负载,还可以将Openstack控制集群与网络集群隔离开,如果控制集群发生异常,不影响网络集群,此时已经创建的虚拟机可以正常访问,不影响其中运行业务,这一点可以大大减少故障范围,也可以方便进行故障恢复。

2.2 控制节点与网络节点融合部署

此情景不需要构建网络节点高可用集群,直接在控制节点上安装所有网络服务,将所有网络服务加入到控制节点上pacemaker资源中即可。

首先在控制节点上通过0-set-config.sh设置网络节点配置信息:让网络节点和控制节点重叠即可,并设置网络节点单独部署配置项为no

然后执行install-configure-neutron.sh安装即可,实际安装过程中,会跳过 install-configure-pacemaker-networkers.sh脚本,不会创建网络节点的高可用集群,由于网络节点和控制节点融合,所有的网络服务都会加入到控制节点pacemaker上资源中。

2.3 脚本详细介绍

neutron服务一键安装脚本:install-configure-neutron.sh

网络节点上的pcs高可用集群部署脚本install-configure-pacemaker-networkers.sh如下:

网络节点neutron服务配置脚本install-configure-neutron-networkers.sh如下:

注明:neutron-openvswitch-agent和openvswitch服务会在计算节点上统一配置,这里不做介绍。

三、参考文档

https://docs.openstack.org/mitaka/networking-guide/

https://docs.openstack.org/ha-guide/networking-ha.html

https://docs.openstack.org/kilo/networking-guide/scenario_legacy_ovs.html

https://www.rdoproject.org/networking/neutron-with-existing-external-network/

四、源码

脚本源码:https://github.com/zjmeixinyanzhi/Openstack-HA-Install-Shells

五、系列文章

Openstack云平台脚本部署”系列文章目录如下:

Openstack云平台脚本部署之概述(零)

Openstack云平台脚本部署之基础环境配置(一)

Openstack云平台脚本部署之Galera高可用集群配置(二)

Openstack云平台脚本部署之RabbitMQ高可用集群部署(三)

Openstack云平台脚本部署之MongoDB配置(四)

Openstack云平台脚本部署之Memcached配置(五)

Openstack云平台脚本部署之Keystone认证服务配置(六)

Openstack云平台脚本部署之Glance镜像服务配置(七)

Openstack云平台脚本部署之Nova计算服务配置(八)

Openstack云平台脚本部署之Neutron网络服务配置(九)

Openstack云平台脚本部署之Dashboard配置(十)

Openstack云平台脚本部署之Cinder块存储服务配置(十一)

Openstack云平台脚本部署之Ceilometer数据收集服务配置(十二)

Openstack云平台脚本部署之Aodh告警服务配置(十三)

Openstack云平台脚本部署之Ceph存储集群配置(十四)

Openstack云平台脚本部署之计算节点服务配置(十五)

Openstack云平台脚本部署之增加计算节点配置(十六)