- 說明
本文用來替換CentOS7 desktop openstack queens 環(huán)境搭建中
neutron(控制節(jié)點)
和neutron(計算節(jié)點)
這種部署方式無法把provider網(wǎng)絡
的端口添加到虛擬機上
- 先決條件
網(wǎng)絡節(jié)點
三張網(wǎng)卡:管理網(wǎng)絡
敲董、provider
枯跑、overlay
(應該是給vxlan用的)計算節(jié)點
添加一張overlay
的網(wǎng)卡
- neutron(控制節(jié)點)
- 創(chuàng)建數(shù)據(jù)庫
mysql -uroot -p123456
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'controller' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';
- 創(chuàng)建neutron用戶
. admin-openrc
openstack user create --domain default --password-prompt neutron
openstack role add --project service --user neutron admin
- 創(chuàng)建neutron service
openstack service create --name neutron --description "OpenStack Networking" network
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
- 下載(
self-service networks
)
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch ebtables -y
- 配置(
self-service networks
)
vi /etc/neutron/neutron.conf
[DEFAULT] core_plugin = ml2 service_plugins = router allow_overlapping_ips = true transport_url = rabbit://openstack:123456@controller auth_strategy = keystone notify_nova_on_port_status_changes = true notify_nova_on_port_data_changes = true [database] connection = mysql+pymysql://neutron:123456@controller/neutron [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 = 123456 [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 = 123456 [oslo_concurrency] lock_path = /var/lib/neutron/tmp
- 配置(
self-service networks
)
vi /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2] type_drivers = flat,vlan,vxlan tenant_network_types = vxlan mechanism_drivers = openvswitch,l2population extension_drivers = port_security [ml2_type_flat] flat_networks = provider [ml2_type_vlan] network_vlan_ranges = provider [ml2_type_vxlan] vni_ranges = 1:1000 [securitygroup] enable_ipset = true
注:
[ml2_type_vlan]
并不需要
啟動ovs服務
systemctl enable openvswitch && systemctl restart openvswitch
ovs-vsctl add-br br-ex
ovs-vsctl add-port br-ex eth3
ovs-vsctl add-port br-ex eth2
ip a del 192.168.111.142/24 dev eth2
ip a add 192.168.111.142/24 dev br-ex
ip li set br-ex up
配置(
self-service networks
)
vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs] bridge_mappings = provider:br-ex local_ip = 192.168.111.142 [agent] tunnel_types = vxlan l2_population = True [securitygroup] firewall_driver = iptables_hybrid
- 配置(
self-service networks
)
通過驗證以下所有sysctl值設置為1:確保您的Linux操作系統(tǒng)內(nèi)核支持網(wǎng)橋過濾器
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1
重啟生效:
reboot
立即生效:
modprobe br_netfilter
sysctl -p
引用:br_netfilter 模塊開機自動方法
CentOS 7 開機加載內(nèi)核模塊
注:因為openstack已經(jīng)配置了br_netfilter
開機自啟動琳袄,所以不需要進行開機啟動重復配置了
- 配置(
self-service networks
)
vi /etc/neutron/l3_agent.ini
[DEFAULT] interface_driver = openvswitch external_network_bridge =
- 配置(
self-service networks
)
vi /etc/neutron/dhcp_agent.ini
[DEFAULT] interface_driver = openvswitch dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = true
- 配置
vi /etc/neutron/metadata_agent.ini
[DEFAULT] nova_metadata_host = controller metadata_proxy_shared_secret = 123456
- 配置
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 = 123456 service_metadata_proxy = true metadata_proxy_shared_secret = 123456
- 數(shù)據(jù)庫
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-openvswitch-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service && systemctl start neutron-server.service neutron-openvswitch-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
- 啟動(
self-service networks
)
systemctl enable neutron-l3-agent.service && systemctl start neutron-l3-agent.service
- neutron(計算節(jié)點)
- 下載
yum install openstack-neutron-openvswitch ebtables ipset -y
- 配置
vi /etc/neutron/neutron.conf
[DEFAULT] transport_url = rabbit://openstack:123456@controller 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 = 123456 [oslo_concurrency] lock_path = /var/lib/neutron/tmp
- 配置(
self-service networks
)
vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs] local_ip = 192.168.111.182 [agent] tunnel_types = vxlan l2_population = True
- 配置(
self-service networks
)
通過驗證以下所有sysctl值設置為1:確保您的Linux操作系統(tǒng)內(nèi)核支持網(wǎng)橋過濾器
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1
重啟生效:
reboot
立即生效:
modprobe br_netfilter
sysctl -p
- 配置
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 = 123456
- 啟動
systemctl restart openstack-nova-compute.service
- 啟動
systemctl enable neutron-openvswitch-agent.service && systemctl start neutron-openvswitch-agent.service
- 驗證(在控制節(jié)點)
openstack network agent list