openstack-mitaka安裝文檔-Networking服務安裝

Networking服務概述

OpenStack網絡(neutron)容許你建立和附加被其它OpenStack服務管理的接口設備到網絡上。插件的實現能適應不一樣網絡設備和軟件,提供了靈活性給OpenStack架構和部署。html

它包括下面幾個組件:mysql

neutron-serverlinux

接收並路由API請求到相應OpenStack網絡插件的action。sql

OpenStack Networking plug-ins and agents數據庫

插拔端口,建立網絡或子網,並提供IP地址。這些插件和代理的差別取決於供應商和特定的技術。OpenStack網絡附帶插件和代理,支持思科虛擬和物理交換機,NEC OpenFlow產品,開方式的Vswitch, Linux的橋接,以及Vmware NSX產品。api

常見的代理是L3(layer3),DHCP(動態主機IP地址),和一人插件代理。安全

Messaging queue服務器

大多數用於OpenStack網絡設備與neutron-server和各代理以前的路由通訊。也可做爲數據庫給特定插件存儲網絡狀態。網絡

OpenStack網絡主要與OpenStack計算相互做用,以提供網絡和實例的鏈接。架構

 

安裝和配置控制節點

先決條件

開始配置OpenStack網絡(neutron)服務,必須先建立一個數據庫,服務憑證和API端點

1.如下幾步完成數據庫建立

l用root帳號登錄數據庫

mysql -u root -p

l建立nova_api 和 nova數據庫

CREATE DATABASE neutron;

l給數據庫受權

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

l退出數據庫

2.加載admin憑證

. admin-openrc

3.建立服務憑證

l建立neutron用戶

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

        

l將admin角色添加給neutron用戶

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

l建立neutron service entity

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

4.建立Networking service API endpoints

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

配置網絡選項

部署網絡服務有兩種架構方式可供選擇。

選擇其中一種架構並完成配置以後才能進行配置元數據代理

本文檔選擇第2種方式進行配置,若要選第一種,請按官網教程操做。

網絡選項2-自服務網絡 

下面操做在控制節點進行操做

安裝和配置組件

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

配置服務器組件

1.編輯/etc/neutron/neutron.conf文件完成下面幾步操做修改

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

[database]
...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

將NEUTRON_DBPASS替換成正確的密碼

l在[DEFAULT]部分,啓用Modular Layer 2 (ML2)插件,router服務和overlapping IP addresses

[DEFAULT]
...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

l在[DEFAULT]和 [oslo_messaging_rabbit] 部分,配置RabbitMQ消息隊列訪問

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

RABBIT_PASS替換成正確的密碼

l在[DEFAULT]和[keystone_authtoken] 部分,配置Identity服務訪問

 [DEFAULT]
...
auth_strategy = keystone
 
[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 = NEUTRON_PASS

NEUTRON_PASS替換成正確的密碼

l在[DEFAULT]和 [nova] 部分,配置網絡來通知網絡拓撲結構的變化的計算

[DEFAULT]
...
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
 
[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 = NOVA_PASS

NOVA_PASS替換成正確的密碼

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

 [oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

配置Modular Layer2(ML2)插件

ML2插件使用Linux橋接機制來爲雲主機實例創建layer-2(橋接和交換)的虛擬網絡基礎架構。

1.編輯/etc/neutron/plugins/ml2/ml2_conf.ini文件完成下面幾步操做修改

l在[ml2]部分,啓動flat, VLAN和 VXLAN 網絡

[ml2]
...
type_drivers = flat,vlan,vxlan

l在[ml2]部分,啓動 VXLAN 自服務網絡

[ml2]
...
tenant_network_types = vxlan

l在[ml2]部分,啓動 Linux bridge and layer-2 population機制

[ml2]
...
mechanism_drivers = linuxbridge,l2population

l在[ml2]部分,配置端口安全擴展驅動

[ml2]
...
extension_drivers = port_security

l在[ml2_type_flat]部分,配置flat_networks

[ml2_type_flat]
...
flat_networks = provider

l在[ml2_type_vxlan]部分,配置VXLAN網絡識別碼範圍

[ml2_type_vxlan]
...
vni_ranges = 1:1000

l在[securitygroup]部分,使ipset增長安全組規則效率

[securitygroup]
...
enable_ipset = True

配置Linux橋接代理

Linux網橋代理爲雲主機實例和處理安全組創建layer-2(橋接和交換機)虛擬網絡設施。

1.編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件完成下面幾步操做修改

l在[linux_bridge]部分,將 provider virtual network映射給physical network interface

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

將PROVIDER_INTERFACE_NAME替換成底層提供物理網絡接口的名字。更多內容查看Host networking

l在[vxlan]部分,啓用VXLAN overlay網絡,配置處理overlay網絡的管理網絡接口IP地址,並啓用layer-2 population

[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True

將OVERLAY_INTERFACE_IP_ADDRESS替換成控制節點的管理IP地址

l在[securitygroup]部分

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置layer-3代理

 Layer-3 (L3) agent爲自服務虛擬網絡提供路由和NAT服務

1.編輯/etc/neutron/l3_agent.ini文件完成下面幾步操做修改

l在[default]部分,配置linux橋接口驅動和擴展網絡橋

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

備註:external_network_bridge選項故意不填值,是爲了在單個代理時開啓多擴展網絡

配置DHCP代理

 DHCP agent爲虛擬網絡提供DHCP服務

1.編輯/etc/neutron/dhcp_agent.ini文件完成下面幾步操做修改

l在[default]部分,配置linux橋接口驅動和擴展網絡橋

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

配置元數據代理

 metadata agent提供配置信息,如給雲主機實例提供憑證

1.編輯/etc/neutron/metadata_agent.ini文件完成下面幾步操做修改

l在[default]部分,配置linux橋接口驅動和擴展網絡橋

[DEFAULT]
...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET

         將METADATA_SECRET設定成合適的密碼,此密碼給metadata proxy使用

配置計算服務使用網絡

1.編輯/etc/nova/nova.conf文件完成下面幾步操做修改

l在[neutron]部分,配置linux橋接口驅動和擴展網絡橋

[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 = NEUTRON_PASS
 
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET

         將NEUTRON_PASS替換成爲neutron用戶設定的在Identity服務上使用的密碼

將METADATA_SECRET替換成爲metadata proxy設定的密碼

完成安裝

1.建立軟鏈接

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

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

3.重啓Compute API服務

systemctl restart openstack-nova-api.service

4.啓動網絡服務並設置開機自啓動

systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

5.選擇網絡模式2的,須要啓動layer-3服務,若是選擇網絡模式-1,此操做少略

systemctl enable neutron-l3-agent.service
systemctl start neutron-l3-agent.service

 

安裝和配置計算節點

計算節點爲雲主機實例處理鏈接和安全組。

安裝組件

yum install openstack-neutron-linuxbridge ebtables ipset

配置通用組件

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

1.編輯/etc/neutron/neutron.conf文件完成下面幾步操做修改

l在[database]部分,將connection註釋掉,由於計算節點不須要直接訪問數據庫

l 在[DEFAULT] 和 [oslo_messaging_rabbit]部分,配置RabbitMQ消息隊列

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

         將RABBIT_PASS替換成正解的密碼

l在[DEFAULT] 和 [keystone_authtoken]部分,配置Identity服務訪問

[DEFAULT]
...
auth_strategy = keystone
 
[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 = NEUTRON_PASS

RABBIT_PASS替換成neutron用戶在Identity服務使用的密碼

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

[oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

配置網絡選項

OpenStack network兩種網絡選項,此文檔的控制節點選擇模式2即自服務網絡,因此下面的網絡配置也是按模式2方式配置。

網絡選項2-自服務網絡 

下面操做在計算節點進行

配置linux橋接代理

Linux網橋代理爲雲主機實例和處理安全組創建layer-2(橋接和交換機)虛擬網絡設施。

2.編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件完成下面幾步操做修改

l在[linux_bridge]部分,將 provider virtual network映射給physical network interface

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

將PROVIDER_INTERFACE_NAME替換成底層提供物理網絡接口的名字。更多內容查看Host networking

l在[vxlan]部分,啓用VXLAN overlay網絡,配置處理overlay網絡的管理網絡接口IP地址,並啓用layer-2 population

[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True

將OVERLAY_INTERFACE_IP_ADDRESS替換成計算節點的管理IP地址

l在[securitygroup]部分

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置計算服務使用網絡

1.編輯/etc/nova/nova.conf文件完成下面幾步操做修改

l在[neutron]部分,配置linux橋接口驅動和擴展網絡橋

[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 = NEUTRON_PASS

         將NEUTRON_PASS替換成爲neutron用戶設定的在Identity服務上使用的密碼

完成安裝

1.重啓計算服務

systemctl restart openstack-nova-compute.service

2.啓動linux橋接代理並配置開機自啓動

systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service

 

驗證操做

1.加載憑證

. admin-openrc

2.列出加載的擴展來驗證neutron-server進程成功啓動

neutron ext-list

3.列出agent來驗證neutron agents成功啓動

neutron agent-list

此處的輸入應該列出,四個裝在controller節點的agents和一個在compute節點的agent。

相關文章
相關標籤/搜索