前言:mysql
整個OpenStack是由控制節點,計算節點,網絡節點,存儲節點四大部分組成。本篇博文將詳細講解網絡節點neutron組件部署過程,總體分爲兩部分:控制節點和計算節點都須要設置。linux
網絡節點架構sql
網絡節點僅包含Neutron服務數據庫
Neutron:負責管理私有網段與公有網段的通訊,以及管理虛擬機網絡之間的通訊/拓撲,管理虛擬機之上的防火等等apache
網絡節點包含三個網絡端口vim
eth0:用於與控制節點進行通訊api
eth1:用於與除了控制節點以外的計算/存儲節點之間的通訊安全
eth2:用於外部的虛擬機與相應網絡之間的通訊網絡
實驗環境:架構
主 機 | 系 統 | IP地址 | 角 色 |
controller | CentOS7 | 192.168.37.128 | keystone、nova、glance、neutron、ntp、mariadb、rabbitmq、memcached、etcd、apache、 |
compute | CentOS7 | 192.168.37.130 | nova、neutron、ntp |
cinder | CentOS7 | 192.168.37.131 | cinder、ntp |
++controller節點neutron網絡配置++
一、建立nuetron數據庫和受權
mysql -u root -p
create database neutron;
grant all privileges on neutron.* to 'neutron'@'localhost' identified by '123456';
grant all privileges on neutron.* TO 'neutron'@'%'identified by '123456';
二、建立用戶neutron
source ~/admin-openrc
openstack user create --domain default --password-prompt neutron
三、把neutron用戶添加到glance用戶和項目中
openstack role add --project service --user neutron admin
四、建立neutron服務
openstack service create --name neutron --description "OpenStack Networking" network
五、建立網絡服務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
六、yum安裝neutron軟件包
yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
七、修改配置文件
vim /etc/neutron/neutron.conf
[database]
//729
connection = mysql+pymysql://neutron:123456@controller/neutron
[DEFAULT]
//27
auth_strategy = keystone
//30
core_plugin = ml2 #插件ml2
//33 不寫表明禁用其餘插件
service_plugins =
//570
transport_url = rabbit://openstack:123456@controller
//98
notify_nova_on_port_status_changes = true #nova端口狀態通告
//102
notify_nova_on_port_data_changes = true #端口數據通告
[keystone_authtoken] #令牌註冊信息
//847
auth_uri = http://controller:5000
auth_url = http://controller:35357
//898
memcached_servers = controller:11211
//1005
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123456
[nova]
//1085
auth_url = http://controller:35357
//1089
auth_type = password
//1127
project_domain_name = default
//1156
user_domain_name = default
//1069
region_name = RegionOne
//1135
project_name = service
//1163
username = nova
//1121
password = 123456
[oslo_concurrency]
//1179
lock_path = /var/lib/neutron/tmp
八、配置網絡二層插件
vim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
//136
type_drivers = flat,vlan #flat-橋接 vlan-局域網
//141 設置空是禁用本地網絡
tenant_network_types =
//145
mechanism_drivers = linuxbridge
//150
extension_drivers = port_security
[ml2_type_flat]
//186
flat_networks = provider #橋接網絡類型
[securitygroup]
//263
enable_ipset = true #安全組
九、配置Linux網橋
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
//157
physical_interface_mappings = provider:ens33
[vxlan]
//208
enable_vxlan = false
[securitygroup]
//193
enable_security_group = true #開啓安全組
//188
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
十、配置DHCP
vim /etc/neutron/dhcp_agent.ini
//16
interface_driver = linuxbridge #接口類型
//28
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
//37
enable_isolated_metadata = true
十一、配置metadata
vim /etc/neutron/metadata_agent.ini
[DEFAULT]
//22
nova_metadata_host = controller
//34
metadata_proxy_shared_secret = 123456
十二、配置計算服務使用網絡服務
vim /etc/nova/nova.conf #在``[neutron]`` 部分,配置訪問參數
[neutron]
//7613
url = http://controller:9696
//7689
auth_url = http://controller:35357
//7683
auth_type = password
//7710
project_domain_name = default
//7763
user_domain_name = default
//7757
region_name = RegionOne
//7704
project_name = service
//7730
username = neutron
//7739
password = 123456
//7652
service_metadata_proxy = true #metadata代理開啓
//7584
metadata_proxy_shared_secret = 123456 #代理的認證密鑰
1三、創建服務軟鏈接
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
1四、同步數據庫
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
1五、重啓compute API服務,並開啓相關服務
systemctl restart openstack-nova-api.service
systemctl enable neutron-server.service
systemctl enable neutron-linuxbridge-agent.service
systemctl enable neutron-dhcp-agent.service
systemctl enable neutron-metadata-agent.service
systemctl restart neutron-server.service
systemctl restart neutron-linuxbridge-agent.service
systemctl restart neutron-dhcp-agent.service
systemctl restart neutron-metadata-agent.service
++compute節點neutron網絡配置++
一、yum安裝neutron包
yum install -y openstack-neutron-linuxbridge ebtables ipset
二、配置公共組件
vim /etc/neutron/neutron.conf
[DEFAULT]
//27
auth_strategy = keystone
//570
transport_url = rabbit://openstack:123456@controller
[keystone_authtoken]
//847
auth_uri = http://controller:5000
auth_url = http://controller:35357
//898
memcached_servers = controller:11211
//1005
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123456
[oslo_concurrency]
//1180
lock_path = /var/lib/neutron/tmp
三、配置Linux網橋
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
//157
physical_interface_mappings = provider:ens33
[vxlan]
//208
enable_vxlan = false
[securitygroup]
//193
enable_security_group = true
//188
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
四、配置計算節點網絡服務
vim /etc/nova/nova.conf
[neutron]
//7534
url = http://controller:9696
//7610
auth_url = http://controller:35357
//7604
auth_type = password
//7631
project_domain_name = default
//7657
user_domain_name = default
//7678
region_name = RegionOne
//7625
project_name = service
//7651
username = neutron
//7660
password = 123456
五、開啓相關服務
systemctl restart openstack-nova-compute.service
systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service
到此爲止,neutron組件已經安裝完成,謝謝閱讀!