OpenStack Liberty版 安裝配置——第五章(Neutron)
來自專欄 大數據技術
第五章——安裝和配置網路組件Neutron
5.1、安裝Neutron前的準備
1.創建資料庫
1)登錄mysql
相關命令:
- mysql -uroot -p
2)創建 neutron 資料庫
相關命令:
- CREATEDATABASE neutron;
3)授權
相關命令:
- GRANT ALLPRIVILEGES ON neutron.* TO neutron@localhost
- IDENTIFIED BY NEUTRON_DBPASS;
- GRANT ALLPRIVILEGES ON neutron.* TO neutron@%
- IDENTIFIED BY NEUTRON_DBPASS;
4)退出mysql
相關命令:
- exit
2.環境變數生效
相關命令:
- sourceadmin-openrc.sh
3.創建服務憑證
1)創建neutron用戶openstack user create --domain default --password-prompt neutron2)添加admin角色到neutron用戶openstack role add--project service --user neutron admin3)創建neutron服務實體openstack service create --name neutron
--description "OpenStack Networking" network4)創建網路服務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
5.2、在控制節點和配置Neutron
1.安裝軟體包
apt-get install neutron-server neutron-plugin-ml2 python-neutronclient
apt-get install neutron-server neutron-plugin-ml2
neutron-plugin-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent
neutron-metadata-agent python-neutronclient
2.編輯Neutron的配置文件:/etc/neutron/neutron.conf
- 修改[database]部分,配置連接資料庫
[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
- 修改[[DEFAULT]和[oslo_messaging_rabbit]兩部分,配置Rabbit MQ的消息隊列的訪問
[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
- 修改[DEFAULT]和[keystone_authtoken]兩部分,配置身份認證服務的訪問
[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]//注意要注釋掉本部分其他的參數
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = neutron
admin_password = NEUTRON_PASS
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS
- 修改[DEFAULT]部分, 啟用ML2插件、路由服務和IP地址重疊
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
- 修改[DEFAULT]和[nova]部分,配置網路拓樸結構更改的通知
[DEFAULT]
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
nova_url = http://controller:8774/v2
[nova]
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
- 在[DEFAULT]部分,為了問題診斷,啟動詳細日誌輸出
[DEFAULT]
verbose = True
3.編輯配置文件:/etc/neutron/plugins/ml2/ml2_conf.ini
- 在[ml2]部分,啟用flat,vlan,gre和vxlan的網路類型驅動,設置租戶網路類型為gre,同時設置OVS機制驅動
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = gre
mechanism_drivers =openvswitch
- 在[ml2_type_gre]部分,配置隧道ID的範圍
[ml2_type_gre]
tunnel_id_ranges =1:1000
- 在[securitygroup]部分,啟用安全組、ipset和配置OVS iptables的防火牆驅動
[securitygroup]
enable_security_group= True
enable_ipset= True
firewall_driver =neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
4.默認的情況下,openstack配置計算服務使用傳統網路類型,所以需要重新配置計算服務使用neutron來管理網路服務,編輯控制節點上的/etc/nova/nova.conf
- 在[DEFAULT]部分,配置APIs和驅動
[DEFAULT]
network_api_class= nova.network.neutronv2.api.API
security_group_api= neutron
linuxnet_interface_driver= nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver =nova.virt.firewall.NoopFirewallDriver
- 在[neutron]部分, 配置訪問參數
url =http://controller:9696
auth_strategy= keystone
admin_auth_url= http://controller:35357/v2.0
admin_tenant_name= service
admin_username= neutron
admin_password =NEUTRON_PASS
5.向neutron資料庫填充數據
bash -c "neutron-db-manage --config-file /etc/neutron/neutron.conf--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
6.重啟計算服務
service nova-api restart
7.在重啟網路服務
service neutron-server restart
8.驗證是否成功
1)生效環境變數
相關命令:
- source admin-openrc.sh
2)列出創建的載入擴展的 neutron-server進程
相關命令:
- neutron ext-list
5.3、在網路節點上安裝和配置Neutron
注意:以下操作均在網路節點
1.編輯/etc/sysctl.conf文件,編輯一些網路調優參數
//開啟路由功能
net.ipv4.ip_forward=1
//關閉反向路徑過濾
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
通過命令sysctl –p立刻生效
2、安裝軟體包
apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agentneutron-l3-agent neutron-dhcp-agent neutron-metadata-agent
3.編輯/etc/neutron/neutron.conf文件
- 在[database]部分,注釋掉所有的連接資料庫的參數,因為網路節點不能直接訪問資料庫
- 在[DEFAULT]和[oslo_messaging_rabbit] 兩部分,配置 RabbitMQ消息隊列的訪問
[DEFAULT]
rpc_backend = rabbit[oslo_messaging_rabbit]
rabbit_host = controllerrabbit_userid = openstackrabbit_password= RABBIT_PASS- 在 [DEFAULT]和[keystone_authtoken]兩部分,配置認證服務的訪問
[DEFAULT]
auth_strategy = keystone- [keystone_authtoken]//配置前注釋掉其他的所有參數
auth_uri= http://controller:5000
auth_url= http://controller:35357
auth_plugin= password
project_domain_id= default
user_domain_id= default
project_name= service
username= neutron
password =NEUTRON_PASS
- 在[DEFAULT]部分,啟用ML2插件、路由服務和IP地址的重疊
[DEFAULT]
core_plugin = ml2service_plugins = routerallow_overlapping_ips = True- 在[DEFAULT]部分,為了方便進行問題診斷,啟用詳細日誌輸出
[DEFAULT]
verbose = True4.配置ml2插件,編輯/etc/neutron/plugins/ml2/ml2_conf.ini文件
- 在[ml2]部分,啟用flat,VLAN,GRE和VXLAN網路類型驅動,GRE租戶網路和OVS的驅動。
[ml2]
type_drivers = flat,vlan,gre,vxlantenant_network_types = gremechanism_drivers = openvswitch- 在[ml2_type_flat] 部分,配置外部的flat網路
[ml2_type_flat]
flat_networks = external服務的訪問- 在[ml2_type_gre]部分,配置隧道ID的範圍
[ml2_type_gre]
tunnel_id_ranges =1:1000
- 在[securitygroup]部分,啟用安全組、ipset和配置OVS iptables的防火牆驅動
[securitygroup]
enable_security_group= True
enable_ipset= True
firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
- 在[ovs]部分,配置隧道、本地隧道端點和將外部的flat網路映射到br-ex外部網路橋接。
[ovs]
local_ip= 10.0.1.21
bridge_mappings =external:br-ex
- 在[agent]部分,啟用GRE隧道
[agent]
tunnel_types = gre
5.配置l3代理,編輯/etc/neutron/l3_agent.ini 文件
- 在[DEFAULT]部分,配置介面驅動,外部網路橋接和失效路由命名空間的清除
[DEFAULT]
interface_driver= neutron.agent.linux.interface.OVSInterfaceDriver
external_network_bridge = 此部分為空,目的是在一個代理上啟用多個外部網路
router_delete_namespaces= True
- 修改[DEFAULT]部分,啟用詳細日誌輸出
[DEFAULT]
verbose = True
6.配置DHCP代理,編輯/etc/neutron/dhcp_agent.ini文件
- 在[DEFAULT]部分,配置介面和DHCP驅動,以及失效DHCP命名空間的刪除
[DEFAULT]
interface_driver= neutron.agent.linux.interface.OVSInterfaceDriver
dhcp_driver= neutron.agent.linux.dhcp.Dnsmasq
dhcp_delete_namespaces= True
- 修改[DEFAULT] 部分,啟用詳細日誌輸出
[DEFAULT]
verbose = True
7.配置metadata代理,主要配置實驗的連接認證信息,編輯/etc/neutron/metadata_agent.ini文件
- 在[DEFAULT]部分,配置metadata的主機為控制節點,配置metadata代理的密碼,啟用詳細日誌輸出
[DEFAULT]
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET
verbose = True
- 在[DEFAULT]部分,配置訪問參數
[DEFAULT]
auth_uri= http://controller:5000
auth_url= http://controller:35357
auth_region= RegionOne
auth_plugin= password
project_domain_id= default
user_domain_id= default
project_name= service
username= neutron
password = NEUTRON_PASS
8.編輯/etc/nova/nova.conf文件。
- 在[neutron]部分,啟用metadata代理和設置密碼
[neutron]
service_metadata_proxy= True
etadata_proxy_shared_secret = METADATA_SECRET
9.在控制節點上,重啟計算API服務
service nova-api restart
10.重啟OVS服務
service openvswitch-switch restart
11.添加額外的橋接
ovs-vsctl add-br br-ex
12.添加一個外部橋接的埠用於連接物理的外部網路介面
ovs-vsctl add-port br-ex eth2
13.重啟服務
service neutron-plugin-openvswitch-agent restart
serviceneutron-l3-agent restart
serviceneutron-dhcp-agent restart
serviceneutron-metadata-agent restart
5.4、檢驗安裝
注意:以下操作均在控制節點
1.生效環境變數
相關命令:
- source admin-openrc.sh
2.列出創建成功的neutron 代理
相關命令:
- neutron agent-list
5.5、在計算節點上安裝和配置Neutron
1.編輯/etc/sysctl.conf文件,編輯一些網路調優參數
//開啟路由功能
net.ipv4.ip_forward=1
//關閉反向路徑過濾
net.ipv4.conf.all.rp_filter=0net.ipv4.conf.default.rp_filter=0通過命令sysctl –p立刻生效
2.安裝軟體包
apt-get install neutron-plugin-ml2neutron-plugin-openvswitch-agent
3.編輯/etc/neutron/neutron.conf
- 在[database] 部分,注釋掉所有的連接資料庫的參數,因為計算節點不能直接訪問資料庫
- 在[DEFAULT]和[oslo_messaging_rabbit] 兩部分,配置 RabbitMQ消息隊列的訪問
[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
- 修改[DEFAULT]和[keystone_authtoken]兩部分,配置身份認證服務的訪問
[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]//注意要注釋掉本部分其他的參數
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS
- 修改[DEFAULT]部分, 啟用ML2插件、路由服務和IP地址重疊
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips= True
- 在[DEFAULT]部分,為了方便進行問題診斷,啟用詳細日誌輸出
[DEFAULT]
verbose = True
4.配置ml2插件,編輯/etc/neutron/plugins/ml2/ml2_conf.ini
- 在[ml2]部分,啟用flat,VLAN,GRE和VXLAN網路類型驅動,GRE租戶網路和OVS的驅動
[ml2]
type_drivers = flat,vlan,gre,vxlantenant_network_types = gremechanism_drivers = openvswitch- 在[ml2_type_gre]部分,配置隧道ID的範圍
[ml2_type_gre]
tunnel_id_ranges =1:1000
- 在[securitygroup]部分,啟用安全組、ipset和配置OVS iptables的防火牆驅動
[securitygroup]
enable_security_group= True
enable_ipset= True
firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
- 在[ovs]部分,配置本地隧道端點
[ovs]
local_ip =10.0.1.31
- 在[agent]部分,啟用GRE隧道
[agent]
tunnel_types = gre
- 重啟OVS服務
service openvswitch-switch restart
5.編輯計算節點/etc/nova/nova.conf文件
- 在[DEFAULT] 部分,配置APIs和驅動
[DEFAULT]
network_api_class= nova.network.neutronv2.api.API
security_group_api= neutron
linuxnet_interface_driver= nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver =nova.virt.firewall.NoopFirewallDriver
- 在[neutron]部分,配置訪問參數
[neutron]
url =http://controller:9696
auth_strategy= keystone
admin_auth_url= http://controller:35357/v2.0
admin_tenant_name= service
admin_username= neutron
admin_password =NEUTRON_PASS
6.重啟計算服務
service nova-compute restart
7.重啟OVS代理
service neutron-plugin-openvswitch-agent restart
5.6、驗證網路服務Neutron
注意:以下操作均在控制節點
1.生效環境變數
相關命令:
- source admin-openrc.sh
2.列出創建的neutron 代理
相關命令:
- neutron agent-list
推薦閱讀:
※寫給想要跨界、初入大數據領域,以及想了解數據業務模式的朋友
※R語言實戰第三關筆記和實踐
※別把我們的勞動,當作你們的資本——對用戶數據性質的新探討
※大數據、雲存儲、資料庫系統開發:技術書籍推薦
※ABC的關係(《Greenplum:從大數據戰略到實現》預覽)