Openstack Mitaka安裝手順(5)Networking服務

5、Networking 服務

5.1、安裝並配置控制節點

5.1.1、創建數據庫,服務憑證和API端點

5.1.1.1、完成下面的步驟以創建數據庫

用數據庫連接客戶端以 root 用戶連接到數據庫服務器:

$ mysql -u root -p

創建``neutron`` 數據庫:

CREATE DATABASE neutron;

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'P@ssw0rd';

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'P@ssw0rd';


5.1.1.2、獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

$ . admin-openrc


5.1.1.3、要創建服務證書,完成這些步驟:

創建``neutron``用戶:

$ openstack user create --domain default --password-prompt neutron

設置密碼:P@ssw0rd

image.png


添加``admin`` 角色到``neutron`` 用戶:

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

創建``neutron``服務實體:

$ openstack service create --name neutron --description "OpenStack Networking" network

image.png


5.1.1.4、創建網絡服務API端點:

$ openstack endpoint create --region RegionOne network public http://controller:9696

image.png


$ openstack endpoint create --region RegionOne network internal http://controller:9696

image.png


$ openstack endpoint create --region RegionOne network admin http://controller:9696

image.png


控制節點防火牆開放端口:9696

# firewall-cmd --permanent --add-port=9696/tcp

# firewall-cmd --reload


確認端口開放成功

# firewall-cmd --list-all


5.1.2、配置網絡選項

本次選擇【私有網絡】進行網絡配置:

5.1.2.1、安裝組件

# yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables


5.1.2.2、配置服務組件

編輯vi /etc/neutron/neutron.conf文件並完成如下操作:

在``[DEFAULT]``部分

core_plugin = ml2

service_plugins = router

allow_overlapping_ips = True

rpc_backend = rabbit

auth_strategy = keystone

notify_nova_on_port_status_changes = True

notify_nova_on_port_data_changes = True


在 [database] 部分,配置數據庫訪問:

connection = mysql+pymysql://neutron:P@ssw0rd@controller/neutron


在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊列的連接:

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = P@ssw0rd


在“[keystone_authtoken]” 部分,配置認證服務訪問:

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = neutron

password = P@ssw0rd


在``[nova]``部分,配置網絡服務來通知計算節點的網絡拓撲變化:

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = nova

password = P@ssw0rd


在 [oslo_concurrency] 部分,配置鎖路徑:

lock_path = /var/lib/neutron/tmp


5.1.2.3、配置 Modular Layer 2 (ML2) 插件

編輯vi /etc/neutron/plugins/ml2/ml2_conf.ini文件並完成以下操作:

在``[ml2]``部分

type_drivers = flat,vlan,vxlan

tenant_network_types = vxlan

mechanism_drivers = linuxbridge,l2population

extension_drivers = port_security


在``[ml2_type_flat]``部分,配置公共虛擬網絡爲flat網絡

flat_networks = provider


在``[ml2_type_vxlan]``部分,爲私有網絡配置VXLAN網絡識別的網絡範圍:

vni_ranges = 1:1000


在 ``[securitygroup]``部分,啓用 ipset 增加安全組規則的高效性:

enable_ipset = True


5.1.2.4、配置Linuxbridge代理

Linux bridge代理爲實例建立layer-2虛擬網絡並且處理安全組規則。

編輯vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini文件並且完成以下操作:


在``[linux_bridge]``部分,將公共虛擬網絡和公共物理網絡接口對應起來:

physical_interface_mappings = provider:ens34


註解:網卡名根據實際情況填寫


在``[vxlan]``部分,啓用VXLAN覆蓋網絡,配置覆蓋網絡的物理網絡接口的IP地址,啓用layer-2 population:

enable_vxlan = True

local_ip = 111.111.111.201

l2_population = True



在 ``[securitygroup]``部分,啓用安全組並配置 Linuxbridge iptables firewall driver:

enable_security_group = True

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver



5.1.2.5、配置layer-3代理

Layer-3代理爲私有虛擬網絡提供路由和NAT服務

編輯vi /etc/neutron/l3_agent.ini文件並完成以下操作:

在``[DEFAULT]``部分,配置Linuxbridge接口驅動和外部網絡網橋:

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

external_network_bridge =

註解:``external_network_bridge``選項特意設置成缺省值,這樣就可以在一個代理上允許多種外部網絡


5.1.2.6、配置DHCP代理

The DHCP agent provides DHCP services for virtual networks.

編輯vi /etc/neutron/dhcp_agent.ini文件並完成下面的操作:

在``[DEFAULT]``部分,配置Linuxbridge驅動接口,DHCP驅動並啓用隔離元數據,這樣在公共網絡上的實例就可以通過網絡來訪問元數據

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata = True


5.1.3、配置元數據代理

The :term:`metadata agent <Metadata agent>`負責提供配置信息,例如:訪問實例的憑證

編輯vi /etc/neutron/metadata_agent.ini文件並完成以下操作:

在``[DEFAULT]`` 部分,配置元數據主機以及共享密碼:

nova_metadata_ip = controller

metadata_proxy_shared_secret = P@ssw0rd


5.1.4、爲計算節點配置網絡服務

編輯vi /etc/nova/nova.conf文件並完成以下操作:

在``[neutron]``部分,配置訪問參數,啓用元數據代理並設置密碼:

url = http://controller:9696

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = neutron

password = P@ssw0rd

service_metadata_proxy = True

metadata_proxy_shared_secret = P@ssw0rd



5.1.5、完成安裝

5.1.5.1、網絡服務初始化腳本需要一個超鏈接 /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


5.1.5.2、同步數據庫:

# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \

--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

image.png

註解:數據庫的同步發生在 Networking 之後,因爲腳本需要完成服務器和插件的配置文件。本步驟信息較多,只要無報錯即可。


5.1.5.3、重啓計算API 服務:

# systemctl restart openstack-nova-api


5.1.5.4、當系統啓動時,啓動 Networking 服務並配置它啓動。

對於兩種網絡選項:

# systemctl enable neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent

# systemctl start neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent

# systemctl status neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent


對於網絡選項2,同樣啓用layer-3服務並設置其隨系統自啓動

# systemctl enable neutron-l3-agent

# systemctl start neutron-l3-agent

# systemctl status neutron-l3-agent


5.2、安裝和配置計算節點

5.2.1、安裝組件

# yum install -y openstack-neutron-linuxbridge ebtables ipset


5.2.2、配置通用組件

Networking 通用組件的配置包括認證機制、消息隊列和插件。

註解:默認配置文件在各發行版本中可能不同。你可能需要添加這些部分,選項而不是修改已經存在的部分和選項。另外,在配置片段中的省略號(...)表示默認的配置選項你應該保留。

編輯vi /etc/neutron/neutron.conf文件並完成如下操作:

在``[database]`` 部分,註釋所有``connection`` 項,因爲計算節點不直接訪問數據庫。


在“[DEFAULT]”部分

rpc_backend = rabbit

auth_strategy = keystone


在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊列的連接:

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = P@ssw0rd


在“[keystone_authtoken]”部分,配置認證服務訪問:

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = neutron

password = P@ssw0rd

註解:在 [keystone_authtoken] 中註釋或者刪除其他選項。


在 [oslo_concurrency] 部分,配置鎖路徑:

lock_path = /var/lib/neutron/tmp


5.2.3、配置網絡選項

本次選擇【私有網絡】進行網絡配置:

5.2.3.1、配置Linuxbridge代理

Linuxbridge代理爲實例建立layer-2虛擬網絡並且處理安全組規則。

編輯vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini文件並且完成以下操作:

在``[linux_bridge]``部分,將公共虛擬網絡和公共物理網絡接口對應起來:

physical_interface_mappings = provider:ens34


在``[vxlan]``部分,啓用VXLAN覆蓋網絡,配置覆蓋網絡的物理網絡接口的IP地址,啓用layer-2 population:

enable_vxlan = True

local_ip = 111.111.111.202

l2_population = True


在 ``[securitygroup]``部分,啓用安全組並配置 Linuxbridge iptables firewall driver:

enable_security_group = True

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver


5.2.4、爲計算節點配置網絡服務

編輯vi /etc/nova/nova.conf文件並完成下面的操作:

在``[neutron]`` 部分,配置訪問參數:

url = http://controller:9696

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = neutron

password = P@ssw0rd


5.2.5、完成安裝

重啓計算服務:

# systemctl restart openstack-nova-compute


啓動Linuxbridge代理並配置它開機自啓動:

# systemctl enable neutron-linuxbridge-agent

# systemctl start neutron-linuxbridge-agent

# systemctl status neutron-linuxbridge-agent


5.3、驗證操作

在控制節點上執行這些命令。

獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

$ . admin-openrc


列出加載的擴展來驗證``neutron-server``進程是否正常啓動:

$ neutron ext-list

image.png

列出代理以驗證啓動 neutron 代理是否成功:

$ neutron agent-list

image.png

輸出結果應該包括控制節點上的四個代理和每個計算節點上的一個代理,本次測試含一個計算節點,共5個代理


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章