Neutron安装
一、网络服务概述
OpenStack Networking(neutron)允许你创建和附加由其他OpenStack服务管理的接口设备到网络。插件可以被实现,以适应不同的网络设备和软件,为OpenStack架构和部署提供了灵活性。
它包括以下组件:
neutron-server
接受并将API请求路由到适当的OpenStack网络插件以进行操作
OpenStack Networking plug-ins and agents
连接端口,创建网络或子网,并提供IP寻址。这些插件和代理根据特定云中使用的厂商和技术的不同而有所不同。OpenStack网络为Cisco虚拟和物理交换机、NEC OpenFlow产品、Open vSwitch、Linux桥接和VMware NSX产品提供插件和代理。
常见代理是L3(第三层)、DHCP(动态主机IP寻址)和插件代理。
Messaging queue
用于大多数OpenStack网络安装,用于在中立服务器和各种代理之间路由信息。也可以作为一个数据库来存储特定插件的网络状态。
OpenStack网络主要与OpenStack计算交互,为其实例提供网络和连接。
Networking(neutron)概念
OpenStack Networking(neutron)管理虚拟网络基础设施(VNI)的所有网络方面,以及OpenStack环境中物理网络基础设施(PNI)的访问层方面。OpenStack网络使项目能够创建高级虚拟网络拓扑,其中可能包括诸如防火墙、负载平衡器和虚拟专用网(VPN)等服务。
网络提供网络、子网和路由器作为对象抽象。每个抽象都有模仿其物理对等物的功能:网络包含子网,路由器在不同子网和网络之间路由通信。
任何给定的网络设置都至少有一个外部网络。与其他网络不同,外部网络不仅仅是一个虚拟的网络。相反,它被视为物理机的一部分,外部网络可以让OpenStack在外部被访问。外部网络上的IP地址可以由任何物理上的外部网络访问。
除了外部网络,任何网络服务都建立有一个或多个内部网络。这些软件定义的网络直接连接到vm。只有在任何给定的内部网络上的vm,或者通过接口连接到类似路由器的子网上的vm,才能直接访问连接到该网络的vm。
为了让外部网络访问vm,于是,网络之间需要路由器。每个路由器有一个连接到外部网络的网关和一个或多个连接到内部网络的接口。就像物理路由器一样,子网可以访问连接到同一路由器的其他子网上的机器,机器可以通过路由器的网关访问外部网络。
另外,您可以将外部网络上的IP地址分配给内部网络上的端口。当某个东西连接到一个子网时,这个连接就称为端口。您可以将外部网络IP地址与端口连接到vm。通过这种方式,外部网络中的实体可以访问vm。
网络也支持安全小组。安全组使管理员能够在组中定义防火墙规则。VM可以属于一个或多个安全组,并且网络应用这些安全组中的规则来阻塞或解除该VM的端口、端口范围或传输类型。
网络使用的每个插件都有自己的概念。虽然对运行VNI和OpenStack环境并不重要,但是理解这些概念可以帮助你设计网络体系。所有的网络安装都使用一个核心插件和一个安全组插件(或者仅仅是一个No-op安全组插件)。另外,防火墙即服务(FWaaS)和负载均衡即服务(LBaaS)插件是可用的。
二、基础配置
Controller节点
1.创建nuetron数据库和授权
# mysql -uroot -p123456
MariaDB [(none)]> create database neutron;
MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'%' identified by '123456';
MariaDB [(none)]> exit
2.生成环境变量
# . /root/admin-openrc
3.创建服务凭证
1)创建neutron用户
# openstack user create --domain default --password-prompt neutron
2)增加admin角色到neutron用户中:(无返回值)
# openstack role add --project service --user neutron admin
3)创建neutron服务实体
# openstack service create --name neutron --description "OpenStack Networking" network
4)创建网络服务API端点
# openstack endpoint create --region RegionOne network public http://controller:9696
# openstack endpoint create --region RegionOne network internal http://controller:9696
# openstack endpoint create --region RegionOne network admin http://controller:9696
三、配置网络选项
您可以选择方案一或二所表示的两个架构之一来部署网络服务:
方案一:部署最简单的架构,只支持将实例附加到提供者(外部)网络。没有自助服务(私有)网络、路由器或浮动IP地址。只有管理员或其他特权用户才能管理提供者网络。
方案二:增强方案一,使用支持附加实例到自助服务网络的layer-3服务。demo或其他非特权用户可以管理自助服务网络,包括提供自助服务和提供者网络之间连接的路由器。此外,浮动IP地址通过Internet等外部网络使用自助服务网络提供对实例的连接。
自