作用
1 neutron 实现了 openstack 下的虚拟网络功能
2 能够实现路由与交换功能
3 能够具有 dhcp 分配 ip 至云主机
neutron 定义了整个 openstack 的网络模型, 当前测试使用了 flat (平面网络) 生产使用了 vlan
flat
gre
local
vlan
vxlan
neutron 在网络类型中支持下面的组件, 当前使用了 ovs 作为虚拟交换机
arista
cisco
nexus
hyper-V agent
L2 population
linux bridge agent
open vswitch agent
tail-f NCS
软件安装
# yum install -y openstack-neutron.noarch openstack-neutron-ml2.noarch openstack-neutron-openvswitch.noarch
必须升级 iproute, 升级后, ip 命令能够具有 netns 参数, 否则在创建云主机时, 无法分配 ip (rhel7不需要)
# yum update iproute
neutron 连接 keystone
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host <keystone_地址>
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocal http
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://<keystone_地址>:5000/
openstack-config --set /etc/neutron/neutron.conf agent root_helper sudo\ neutron-rootwrap\ /etc/neutron/rootwrap.conf
openstack-config --set /etc/neutron/neutron.conf agent report_interval 30
neutron 连接 rabbitmq
openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_kombu
openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_host <mq_地址>
openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_port 5672
openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_userid neutron
openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_password openstack
定义网络 plugin
选择 ml2 作为当前网络 plugin 核心, ovs 将会在以后弃用
# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin neutron.plugins.ml2.plugin.Ml2Plugin
openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
openstack-config --set /etc/neutron/plugin.ini ml2 type_drivers vxlan,flat
openstack-config --set /etc/neutron/plugin.ini ml2 tenant_network_types vxlan,flat
openstack-config --set /etc/neutron/plugin.ini ml2 mechanism_drivers openvswitch
openstack-config --set /etc/neutron/plugin.ini agent l2_population True
配置 ml2 plugin (vlan)
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers vlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks '*'
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vlan network_vlan_ranges phy-eth0:21:23
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group false
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.firewall.NoopFirewallDriver
neutron 连接 nova
定义连接 nova 方法, 不定义无法正常创建云主机
openstack