1) 安装Neutron组件
[root@node2 ~]# yum --enablerepo=centos-openstack-train,epel install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch -y
2) 配置Neutron
[root@node2 ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
[root@node2 ~]# vim /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True
transport_url = rabbit://openstack:password@192.168.10.11
[keystone_authtoken]
www_authenticate_uri = http://192.168.10.11:5000
auth_url = http://192.168.10.11:5000
memcached_servers = 192.168.10.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword
[oslo_concurrency]
lock_path = $state_path/lock
[root@node2 ~]# chmod 640 /etc/neutron/neutron.conf
[root@node2 ~]# chgrp neutron /etc/neutron/neutron.conf
3) 配置ML2
[root@node2 ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
......
......
......
......
......
......
# 于文件最底部,添加如下内容
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security
4) 配置ovs
[root@node2 ~]# vim /etc/neutron/plugins/ml2/openvswitch_agent.ini
......
......
......
......
......
......
# 于文件最底部,添加如下内容
[securitygroup]
firewall_driver = openvswitch
enable_security_group = true
enable_ipset = true
5) 配置nova
[root@node01 ~]# vim /etc/nova/nova.conf
# 于[DEFAULT]区段添加如下内容
[DEFAULT]
......
......
......
......
......
......
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
vif_plugging_is_fatal = True
vif_plugging_timeout = 300
......
......
......
......
......
......
# 于文件尾部,添加如下内容
[neutron]
auth_url = http://192.168.10.11:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = servicepassword
service_metadata_proxy = True
metadata_proxy_shared_secret = qyy_openstack
7) SELinux配置
[root@node2 ~]# yum --enablerepo=centos-openstack-train -y install openstack-selinux
[root@node2 ~]# setsebool -P neutron_can_network on
[root@node2 ~]# setsebool -P daemons_enable_cluster_mode on
[root@node2 ~]# vim my-ovsofctl.te
module my-ovsofctl 1.0;
require {
type neutron_t;
class capability sys_rawio;
}
#============= neutron_t ==============
allow neutron_t self:capability sys_rawio;
[root@node2 ~]# checkmodule -m -M -o my-ovsofctl.mod my-ovsofctl.te
checkmodule: loading policy configuration from my-ovsofctl.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to my-ovsofctl.mod
[root@node2 ~]# semodule_package --outfile my-ovsofctl.pp --module my-ovsofctl.mod
[root@node2 ~]# semodule -i my-ovsofctl.pp
8) 启动Neutron服务
[root@node2 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@node2 ~]# systemctl enable --now openvswitch
[root@node2 ~]# ovs-vsctl add-br br-int
[root@node2 ~]# systemctl restart openstack-nova-compute
[root@node2 ~]# systemctl enable --now neutron-openvswitch-agent
|