OpenStack Liberty版 安裝配置——第五章(Neutron)

OpenStack Liberty版 安裝配置——第五章(Neutron)

來自專欄 大數據技術

第五章——安裝配置網路組件Neutron

5.1、安裝Neutron前的準備

1.創建資料庫

1)登錄mysql

相關命令:

  1. mysql -uroot -p

2)創建 neutron 資料庫

相關命令:

  1. CREATEDATABASE neutron;

3)授權

相關命令:

  1. GRANT ALLPRIVILEGES ON neutron.* TO neutron@localhost

  2. IDENTIFIED BY NEUTRON_DBPASS;

  3. GRANT ALLPRIVILEGES ON neutron.* TO neutron@%

  4. IDENTIFIED BY NEUTRON_DBPASS;

4)退出mysql

相關命令:

  1. exit

2.環境變數生效

相關命令:

  1. sourceadmin-openrc.sh

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 controller:9696

openstack endpoint create --region RegionOne

network internal controller:9696

openstack endpoint create --region RegionOne

network admin 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 = controller:5000/v2.0

identity_uri = controller:35357

admin_tenant_name = service

admin_user = neutron

admin_password = NEUTRON_PASS

auth_uri = controller:5000

auth_url = 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 = controller:8774/v2

[nova]

auth_url = 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 =controller:9696

auth_strategy= keystone

admin_auth_url= 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)生效環境變數

相關命令:

  1. source admin-openrc.sh

2)列出創建的載入擴展的 neutron-server進程

相關命令:

  1. 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 = controller

rabbit_userid = openstack

rabbit_password= RABBIT_PASS

  • 在 [DEFAULT]和[keystone_authtoken]兩部分,配置認證服務的訪問

[DEFAULT]

auth_strategy = keystone

  • [keystone_authtoken]//配置前注釋掉其他的所有參數

auth_uri= controller:5000

auth_url= 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,vxlan

tenant_network_types = gre

mechanism_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= controller:5000

auth_url= 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.生效環境變數

相關命令:

  1. source admin-openrc.sh

2.列出創建成功的neutron 代理

相關命令:

  1. neutron agent-list

5.5、在計算節點上安裝和配置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-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 = controller:5000

auth_url = 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,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

  • 在[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 =controller:9696

auth_strategy= keystone

admin_auth_url= 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.生效環境變數

相關命令:

  1. source admin-openrc.sh

2.列出創建的neutron 代理

相關命令:

  1. neutron agent-list


推薦閱讀:

寫給想要跨界、初入大數據領域,以及想了解數據業務模式的朋友
R語言實戰第三關筆記和實踐
別把我們的勞動,當作你們的資本——對用戶數據性質的新探討
大數據、雲存儲、資料庫系統開發:技術書籍推薦
ABC的關係(《Greenplum:從大數據戰略到實現》預覽)

TAG:雲計算 | 大數據 | OpenStack |