controller:
mysql -u root -p000000
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '000000';
flush privileges;
#创建用户、项目、服务并授权 要创建服务凭证等操作,请完成以下步骤
openstack user create --domain default --password 000000 neutron
openstack role add --project service --user neutron admin
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(格子)
#4. 安装neutron相关软件包并配置 采用 Provider-LinuxBridge 模式
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables -y
#备份配置文件neutron.conf
cd /etc/neutron/ && mv neutron.conf neutron.conf.source && cat neutron.conf.source |grep -Ev "^#|^$" > neutron.conf && chown root:neutron neutron.conf
cp -a /etc/neutron/neutron.conf{,.bak}
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak > /etc/neutron/neutron.conf
vi /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins =router
allow_overlapping_ips = true
transport_url = rabbit://openstack:000000@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[database]
connection = mysql+pymysql://neutron:000000@controller/neutron
#配置身份认证
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 000000
token_cache_time=3600
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
#通知计算节点网络拓扑变化
[nova]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 000000
#修改ML2 plugin配置文件ml2_conf.ini
cp -a /etc/neutron/plugins/ml2/ml2_conf.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/plugins/ml2/ml2_conf.ini.bak > /etc/neutron/plugins/ml2/ml2_conf.ini
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/ml2_conf.ini
vi /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_vlan]
network_vlan_ranges = provider
[ml2_type_vxlan]
vni_ranges = 1:3000
[securitygroup]
enable_ipset = true
#修改linux bridge network provider配置文件
cp -a /etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
内容:
————————————————————————————————————
[linux_bridge]
physical_interface_mappings = provider:ens33 #注意这里是第一网卡
——————————————————————————————————————
[vxlan]
enable_vxlan = true
local_ip = 10.0.63.11
l2_population = true
————————————————————————————————————————
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
#2.3 修改内核
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
#modprobe:用于向内核中加载模块或者从内核中移除模块。modprobe -r 表示移除
modprobe br_netfilter
sysctl -p
sed -i '$amodprobe br_netfilter' /etc/rc.local
chmod +x /etc/rc.d/rc.local
https://docs.openstack.org/ocata/config-reference/networking/samples/dhcp_agent.ini
#配置dhcp
cp -a /etc/neutron/dhcp_agent.ini{,.bak}
vi /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
#配置元数据
cp -a /etc/neutron/metadata_agent.ini{,.bak}
cd /etc/neutron/ && mv metadata_agent.ini metadata_agent.ini.source && cat metadata_agent.ini.source |grep -Ev "^#|^$" > metadata_agent.ini && chown root:neutron metadata_agent.ini
vi /etc/neutron/metadata_agent.ini
内容:
[DEFAULT]
nova_metadata_host = controller
metadata_proxy_shared_secret = guge123
https://docs.openstack.org/ocata/config-reference/networking/samples/l3_agent.ini
#三级网络
cp -a /etc/neutron/l3_agent.ini{,.bak}
cd /etc/neutron/ && mv l3_agent.ini l3_agent.ini.source && cat l3_agent.ini.source |grep -Ev "^#|^$" > l3_agent.ini && chown root:neutron l3_agent.ini
vi /etc/neutron/l3_agent.ini
[DEFAULT]
interface_driver = linuxbridge
external_network_bridge =
#配置软链接
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
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
systemctl status neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service
#制作一个重启文件
cd
vi restart-neutron.sh
内容:
#!/bin/bash
systemctl restart neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service
#查看日志 ,日志里有ERROR,重启服务,试试
tail -f /var/log/neutron/*.log
#有三层网络,则执行
systemctl enable neutron-l3-agent.service
systemctl restart neutron-l3-agent.service
systemctl status neutron-server.service
systemctl status neutron-linuxbridge-agent.service
systemctl status neutron-dhcp-agent.service
systemctl status neutron-metadata-agent.service
systemctl status neutron-l3-agent.service
============================================================
计算节点
yum -y install openstack-nova-compute
yum install openstack-neutron-linuxbridge ebtables ipset -y
vi /etc/neutron/neutron.conf
[DEFAULT]
transport_url = rabbit://openstack:000000@controller
auth_strategy = keystone
————————————————————————————————
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 000000
token_cache_time=3600
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
cp -a /etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak}
vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:ens32
——————————————————————————————
[vxlan]
enable_vxlan = true
local_ip = 10.0.63.12
l2_population = true
————————————————————————————
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
#2.3 修改内核
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
#modprobe:用于向内核中加载模块或者从内核中移除模块。modprobe -r 表示移除
modprobe br_netfilter
sysctl -p
sed -i '$amodprobe br_netfilter' /etc/rc.local
chmod +x /etc/rc.d/rc.local
systemctl restart openstack-nova-compute.service
systemctl enable neutron-linuxbridge-agent.service;systemctl start neutron-linuxbridge-agent.service
systemctl restart neutron-linuxbridge-agent.service
controller:
source admin-openrc.sh
openstack network agent list(格子)
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/linuxbridge_agent.ini
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/dhcp_agent.ini
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/metadata_agent.ini
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/l3_agent.ini
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/nova.conf
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/neutron.conf
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/linuxbridge_agent.ini
参考:https://docs.openstack.org/ocata/config-reference/networking/samples/nova.conf