openstack(queens)多節點手動安裝(四):控制節點和計算節點neutron組件的安裝

neutron組件概述

neutron核心組件向用戶提供了雲平臺中定義網絡的功能,它負責管理虛擬網絡組件,包括Networks,Switches,Subnets和Routers,同時也會提供一些高級網絡服務,如Load Balance、Firewall和VPN。neutron中的組件一般分爲如下4種:
1.Server:對外提供API,管理數據庫等;
2.Plugins:管理neutron種的各種agents;
3.Agents:向虛擬機提供二層和三層的網絡聯通,處理邏輯網絡和物理網絡之間的轉換、同時也提供一些拓展服務。包括提供二層網絡聯通服務的Layer 2 agents,比如Linux Bridge和OVS;提供三層IP和路由服務的Layer 3 agents,比如L3和DHCP;提供一些雜項服務的Miscellaneous agents,比如Metadata
4.Services:提供高級網絡服務,包括提供三層路由功能的Routing Service;提供VPN功能的VPNaaS;提供負載均衡器功能的LBaas,一般是基於HAProxy實現;提供防火牆服務的FWaas,一般是基於iptables實現。
neutron部署中一般部署三種節點,即控制節點、網絡節點和計算節點。其中控制節點一般會部署Neutron Server和Layer 2 agent組件,網絡節點一般會部署Layer 2 agent和Layer 3 agent。通常情況下,控制節點和網絡節點會同時部署在同一個節點上,所以我們將控制節點和網絡節點都部署在控制節點所在的主機上。計算節點部署Layer 2 agent。本次部署所採用的Layer 2 agent爲Linux Bridge。

控制節點的部署

創建neutron數據庫,用戶,服務和endpoints

創建並配置neutron數據庫

mysql -u root -pwwwwww
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';

創建neutron用戶並添加admin角色

openstack user create --domain default --password-prompt neutron
openstack role add --project service --user neutron admin

創建neutron服務

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

創建neutron服務 API endpoints

openstack endpoint create --region RegionOne network public http://控制節點主機名:9696
openstack endpoint create --region RegionOne network internal http://控制節點主機名:9696
openstack endpoint create --region RegionOne network admin http://控制節點主機名:9696

安裝組件和進行網絡配置

官網安裝教程提供了兩種網絡架構的安裝配置方法,第一種爲 Provider network,第二種爲Self-service network。Provider network屬於最簡單的網絡架構,只允許將實例掛載到外部網絡上,無法提供私有網絡,路由,浮動ip等功能。只有admin用戶或者其他特權用戶能夠操作網絡。Self-service network相比較Provider network來說增加了能夠將實例掛載到私有網絡的3層服務,demo用戶和其他非特權用戶能夠創建管理通過路由器連接到外部網絡的私有網絡。本教程採用第二種網絡配置,具體配置如下:

安裝組件

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

配置Server組件

編輯/etc/neutron/neutron.conf

cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
vim /etc/neutron/neutron.conf

以下是/etc/neutron/neutron.conf中的內容

[DEFAULT]

core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
transport_url = rabbit://openstack:wwwwww@控制節點主機名
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true

[database]

connection = mysql://neutron:neutron@控制節點主機名/neutron

[keystone_authtoken]

www_authenticate_uri = http://控制節點主機名:5000
auth_url = http://控制節點主機名:35357
memcached_servers = 控制節點主機名:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron

[nova]

auth_url = http://控制節點主機名:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = nova

[oslo_concurrency]

lock_path = /var/lib/neutron/tmp

配置ML2 插件

ML2 plug-in是一個框架,允許OpenStack網絡同時使用在複雜的現實世界數據中心中發現的各種第2層網絡技術。
編輯/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_networks = provider

[ml2_type_vxlan]

vni_ranges = 1:1000

[securitygroup]

enable_ipset = true

配置Linux bridge agent

Linux bridge agent爲實例創建2層虛擬網絡和提供安全組操作
編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini,其內容如下:

[linux_bridge]

physical_interface_mappings = provider:管理ip對應的物理網卡名稱(用ifconfig查看)

[vxlan]

enable_vxlan = true
local_ip = 控制節點ip
l2_population = true

[securitygroup]

enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置L3 agent

L3 agent爲Self-service虛擬網絡提供路由和nat地址轉換服務,其配置文件/etc/neutron/l3_agent.ini內容如下:

[DEFAULT]

interface_driver = linuxbridge

配置DHCP agent

DHCP agent爲虛擬網絡提供DHCP服務,其配置文件/etc/neutron/dhcp_agent.ini內容如下:

[DEFAULT]

interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true

配置metadata agent

metadata agent爲neutron提供配置信息,其配置文件/etc/neutron/metadata_agent.ini的配置如下所示:

[DEFAULT]

nova_metadata_host = 控制節點主機名
metadata_proxy_shared_secret = metadata密碼

修改nova配置來使用網絡服務

修改/etc/nova/nova.conf中下面的內容來使用網絡服務

[neutron]
# ...
auth_url = http://控制節點主機名:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron
service_metadata_proxy = true
metadata_proxy_shared_secret = metadata密碼

完成安裝並啓動控制節點網絡服務

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

同步數據庫

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

重啓控制節點計算服務

systemctl restart openstack-nova-api.service

開啓控制節點網絡服務

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

計算節點的部署

計算節點主要負責處理虛擬機實例的網絡連接和安全組,其安裝配置如下所示:

安裝組件並進行通用組件配置

安裝組件

yum install openstack-neutron-linuxbridge ebtables ipset -y

修改通用組件配置文件/etc/neutron/neutron.conf,其內容如下所示:

[DEFAULT]

transport_url = rabbit://openstack:wwwwww@控制節點主機名
auth_strategy = keystone

[keystone_authtoken]

www_authenticate_uri = http://控制節點主機名:5000
auth_url = http://控制節點主機名:35357
memcached_servers = 控制節點主機名:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron

[oslo_concurrency]

lock_path = /var/lib/neutron/tmp

配置Linux bridge agent

計算節點的Linux bridge agent配置文件/etc/neutron/plugins/ml2/linuxbridge_agent.ini的配置內容如下所示:

[linux_bridge]

physical_interface_mappings = provider:控制節點的管理ip對應的網卡名稱

[vxlan]

enable_vxlan = true
local_ip = 本計算節點ip地址
l2_population = true

[securitygroup]

enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

修改nova配置來使用網絡服務

修改/etc/nova/nova.conf中下面的內容來使用網絡服務

[neutron]
# ...
auth_url = http://控制節點主機名:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron

重啓計算節點計算服務並啓動網絡服務

systemctl restart openstack-nova-compute.service
systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service

neutron服務官方安裝文檔:https://docs.openstack.org/neutron/train/install/compute-install-rdo.html

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