执行范围
仅控制节点(controller / 11.0.1.30)
source /etc/keystone/admin-openrc.sh1. 创建数据库
mysql -uroot -p000000 -e "CREATE DATABASE IF NOT EXISTS neutron;"mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '000000';"mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '000000';"2. 注册 Keystone 用户与服务
openstack user create --domain default --password 000000 neutronopenstack role add --project service --user neutron adminopenstack service create --name neutron --description "OpenStack Networking" networkopenstack endpoint create --region RegionOne network public http://controller:9696openstack endpoint create --region RegionOne network internal http://controller:9696openstack endpoint create --region RegionOne network admin http://controller:96963. 安装软件包
yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables4. 拉起 Provider 网卡
写入 /etc/sysconfig/network-scripts/ifcfg-ens34:
DEVICE=ens34TYPE=EthernetBOOTPROTO=noneONBOOT=yessystemctl restart network5. 配置 /etc/neutron/neutron.conf
crudini --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:000000@controller/neutroncrudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins routercrudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips truecrudini --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:000000@controllercrudini --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
crudini --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://controller:5000crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:5000crudini --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_type passwordcrudini --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name defaultcrudini --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name defaultcrudini --set /etc/neutron/neutron.conf keystone_authtoken project_name servicecrudini --set /etc/neutron/neutron.conf keystone_authtoken username neutroncrudini --set /etc/neutron/neutron.conf keystone_authtoken password 000000
crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes truecrudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes true
crudini --set /etc/neutron/neutron.conf nova auth_url http://controller:5000crudini --set /etc/neutron/neutron.conf nova auth_type passwordcrudini --set /etc/neutron/neutron.conf nova project_domain_name defaultcrudini --set /etc/neutron/neutron.conf nova user_domain_name defaultcrudini --set /etc/neutron/neutron.conf nova region_name RegionOnecrudini --set /etc/neutron/neutron.conf nova project_name servicecrudini --set /etc/neutron/neutron.conf nova username novacrudini --set /etc/neutron/neutron.conf nova password 000000
crudini --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp6. 配置 ML2 /etc/neutron/plugins/ml2/ml2_conf.ini
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan,gre,localcrudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlancrudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers linuxbridge,l2populationcrudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_securitycrudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks providercrudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vlan network_vlan_ranges provider:1000:2000crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1000:2000crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset true7. 配置 Linux Bridge Agent
/etc/neutron/plugins/ml2/linuxbridge_agent.ini:
crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:ens34crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan truecrudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 11.0.1.30crudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population truecrudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group truecrudini --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver8. 内核桥接过滤
modprobe br_netfilterecho 'net.bridge.bridge-nf-call-iptables = 1' >> /etc/sysctl.confecho 'net.bridge.bridge-nf-call-ip6tables = 1' >> /etc/sysctl.confsysctl -p9. 配置 L3 / DHCP / Metadata Agent
crudini --set /etc/neutron/l3_agent.ini DEFAULT interface_driver linuxbridgecrudini --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridgecrudini --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasqcrudini --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata truecrudini --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host controllercrudini --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret 00000010. 更新 Nova 配置(neutron 段)
crudini --set /etc/nova/nova.conf neutron auth_url http://controller:5000crudini --set /etc/nova/nova.conf neutron auth_type passwordcrudini --set /etc/nova/nova.conf neutron project_domain_name defaultcrudini --set /etc/nova/nova.conf neutron user_domain_name defaultcrudini --set /etc/nova/nova.conf neutron region_name RegionOnecrudini --set /etc/nova/nova.conf neutron project_name servicecrudini --set /etc/nova/nova.conf neutron username neutroncrudini --set /etc/nova/nova.conf neutron password 000000crudini --set /etc/nova/nova.conf neutron service_metadata_proxy truecrudini --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret 00000011. 同步数据库并启动
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.inisu -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.servicesystemctl enable neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent neutron-l3-agentsystemctl start neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent neutron-l3-agent12. 验收
source /etc/keystone/admin-openrc.shsystemctl is-active neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-l3-agent neutron-metadata-agentip link show ens34openstack network agent list下一步:Neutron 计算节点安装