一、實驗目的:
1、理解neutron服務在OpenStack中的作用
2、掌握在控制節點上安裝配置neutron的方法和步驟
3、掌握在計算節點上安裝與配置neutron的方法和步驟
二、實驗步驟:
准備工作:
首先分別在控制節點和計算節點上各添加一塊網卡,模式為網橋連接

查看網卡信息 ens37就是新添加的網卡

配置ens37 將uuid修改為上邊查看到的uuid name也要保持一致不然會報錯

重啟網卡
計算節點同理。
1、在控制節點上為neutron創建數據庫,並創建用戶授權,參考命令
創建neutron數據庫
#mysql -u root -p
#CREATE DATABASE neutron;
對``neutron`` 數據庫授予合適的訪問權限,使用合適的密碼替換``NEUTRON_DBPASS``:
#GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
IDENTIFIED BY 'NEUTRON_DBPASS';
#GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
IDENTIFIED BY 'NEUTRON_DBPASS';
創建數據庫:

授予訪問權限:

2、在keystone為neutron創建用戶、角色、服務和API接口
運行環境變量:
#. admin-openrc
創建``neutron``用戶:
#openstack user create --domain default --password-prompt neutron

#openstack role add --project service --user neutron admin

添加``admin`` 角色到``neutron`` 用戶:
#openstack service create --name neutron \ --description "OpenStack Networking" network
創建network服務

創建網絡服務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

3、安裝neutron服務,參考命令
yum install openstack-neutron openstack-neutron-ml2 \
openstack-neutron-linuxbridge ebtables
4、配置neutron相關配置文件
在[database]部分,配置數據庫入口:

在[DEFAULT]部分,啟用模塊化第2層(ML2)插件,並棄用額外的插件:

[DEFAULT]部分,配置RabbitMQ 消息隊列入口

在 [DEFAULT] 和 [keystone_authtoken]部分,配置身份認證服務入口:


在[DEFAULT] 和 [nova] 部分,配置網絡以通知Compute網絡拓撲的更改:


在[oslo_concurrency]部分,配置lock path:

編輯配置文件/etc/neutron/plugins/ml2/ml2_conf.ini
在[ml2]部分,啟用flat, VLAN 網絡:

舍棄自身服務

在[ml2]部分,啟用linux網橋機制:
mechanism_drivers = linuxbridge

在[ml2]中,啟用端口安全擴展驅動程序

[ml2_type_flat]部分,將提供商虛擬網絡配置為扁平網絡:

在[securitygroup]部分,啟用ipset以提高安全組規則的效率

編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
在[linux_bridge]部分,映射提供商虛擬網絡到提供商物理網絡接口:

在vxlan部分,棄用VXLAN覆蓋網絡

在該[securitygroup]部分中,啟用安全組並配置Linux網橋iptables防火牆驅動程序:

通過驗證下列所有sysctl值都設置為1,確保Linux操作系統內核支持網橋過濾器 (編輯/etc/sysctl.conf文件,添加如下兩行 )

加載br netfilter內核模塊,以啟用網絡網橋的支持

配置DHCP代理
編輯/etc/neutron/dhcp_agent.ini文件,在本[DEFAULT]部分,配置Linux橋接口驅動程序Dnsmasq DHCP驅動程序,並啟用隔離的元數據,以便提供商網絡上的實例可以通過網絡訪問元數據:

配置元數據代理
元數據代理提供配置信息,例如實例的憑據。
編輯/etc/neutron/metadata_agent.ini文件並完成以下操作,在該[DEFAULT]部分中,配置元數據主機和共享機密:

配置Compute服務以使用Networking服務
編輯/etc/nova/nova.conf文件並執行以下操作
在該[neutron]部分中,配置訪問參數,啟用元數據代理,並配置機密:

最終確定安裝
① 網絡服務初始化腳本需要一個軟鏈接/etc/neutron/plugin.ini指向ML2插件的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini的。使用以下命令創建它:
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

出現確定說明填充成功:

重啟計算服務:

開啟Linxu網橋代理並配置開機自啟動


5、在計算節點上安裝neutron服務
#yum install openstack-neutron-linuxbridge ebtables ipset
安裝所需組件:

6、修改技術節點上相關配置文件
配置通用組件
網絡通用組件配置包括認證機制,消息隊列、插件
1、配置 /etc/neutron/neutron.conf 文件完成以下部分:
① 在[database]部分,注釋掉任何connection部分,因為compute節點不直接和數據庫進行連接
② 在[default]部分,配置消息隊列連接:

填控制節點的名稱
在[default]和[keystone_authtoken]部分,配置身份認證連接:


在 [oslo_concurrency] 部分,配置lock path:

配置網絡選項
這里同樣選擇第YI種網絡體系架構
1、配置Linux 網橋代理:
編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini配置文件,並完成以下部分:
① 在 [linux_bridge]部分,映射提供商虛擬網絡到提供商物理網絡接口:( 網卡接口使用橋接網絡的網卡的接口名稱 )

② 在[vxlan]部分,棄用VXLAN覆蓋性網絡:

③ 在[securitygroup]部分,啟用安全組並配置Linxu網橋防火牆驅動:

④ 通過驗證下列所有sysctl值都設置為1,確保Linux操作系統內核支持網橋過濾器 (編輯/etc/sysctl.conf文件,添加如下兩行 )

⑤加載br netfilter內核模塊,以啟用網絡網橋的支持

配置Compute服務使用Networking服務
1、配置/etc/nova/nova.conf文件並完成以下部分:
① 在neutron部分,配置訪問參數:

重啟計算服務:
# systemctl restart openstack-nova-compute

開啟Linxu網橋代理並配置開機自啟動
# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service

7、驗證
運行環境變量:
#. admin-openrc
#openstack extension list –network
列出已加載的擴展,以驗證neutron-server進程是否成功啟動:

#openstack network agent list

如果看不到計算節點
請看這篇博客
https://www.cnblogs.com/zHQQQQ/p/12009110.html#4453212
