Openstack安装与部署:neutron(network0)的安装与配置

时间:2024-03-23 12:09:58

Openstack安装与部署:neutron(network0)的安装与配置

该项的所有操作步骤需要使用root用户进行。
该项的所有操作除了第10步,其他步骤需要在network0节点上进行。
配置核心网络参数,允许ip forward,允许转发
#vi /etc/sysctl.conf
Openstack安装与部署:neutron(network0)的安装与配置
#sysctl -p #使配置生效
安装neutron相关的包
#yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

配置neutron keystone认证
#openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
#openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller0:5000
#openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller0
#openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http

Openstack安装与部署:neutron(network0)的安装与配置
#openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
#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_PASS

#cat /etc/neutron/neutron.conf | grep admin_
Openstack安装与部署:neutron(network0)的安装与配置
配置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 controller0
#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 NEUTRON_MQPASS
#openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_virtual_host /

#cat /etc/neutron/neutron.conf | grep rabbit_
Openstack安装与部署:neutron(network0)的安装与配置
配置neutron 使用ml + openvswitch + gre
#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/plugins/ml2/ml2_conf.ini ml2 type_drivers gre
#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

Openstack安装与部署:neutron(network0)的安装与配置
#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_gre tunnel_id_ranges 1:1000
#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.10.20
#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs bridge_mapping external:br-ex

#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre
#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True
#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

#more /etc/neutron/plugins/ml2/ml2_conf.ini
Openstack安装与部署:neutron(network0)的安装与配置
Openstack安装与部署:neutron(network0)的安装与配置
Openstack安装与部署:neutron(network0)的安装与配置
Openstack安装与部署:neutron(network0)的安装与配置
Networking服务初始化脚本需要一个象征性的链接将/etc/neutron/plugin.ini指向ML2插件的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini。如果这个象征性的链接不存在,请用下面的命令创建它。
#ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
#cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutronopenvswitch-agent.orig
#sed -i ‘s,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g’ /etc/init.d/neutron-openvswitch-agent

配置l3
#openstack-config --set /etc/neutron/l3_agent.ini DEFAULT verbose True
#openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
#openstack-config --set /etc/neutron/l3_agent.ini DEFAULT use_namespaces True
#openstack-config --set /etc/neutron/l3_agent.ini DEFAULT external_network_bridge br-ex
#openstack-config --set /etc/neutron/l3_agent.ini DEFAULT router_delete_namespaces True

#cat /etc/neutron/l3_agent.ini | more
Openstack安装与部署:neutron(network0)的安装与配置
配置dhcp agent
#openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT verbose True
#openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
#openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
#openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces True
#openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_delete_namespaces True

#cat /etc/neutron/dhcp_agent.ini |more
因为采用GRE网络,你需要把MTU设置为1400,默认的是1500
创建/etc/neutron/dnsmasq-neutron.conf并添加下面的配置
#vi /etc/neutron/dnsmasq-neutron.conf
Openstack安装与部署:neutron(network0)的安装与配置
写入配置
#openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dnsmasq_config_file /etc/neutron/dnsmasq-neutron.conf
#cat /etc/neutron/dhcp_agent.ini |grep dnsmasq

Openstack安装与部署:neutron(network0)的安装与配置
a、Kill掉正在run的dnsmasq进程
#pkill dnsmasq
配置metadata agent,元数据代理提供配置信息,像实例凭证
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://controller0:5000/v2.0
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_region regionOne
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_tenant_name service
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password NEUTRON_PASS
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller0
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET (123)

注意是中文括号
#openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT verbose True
Openstack安装与部署:neutron(network0)的安装与配置

在控制节点controller0上配置元数据代理共享
本步骤第10步操作需要在controller0节点进行
#openstack-config --set /etc/nova/nova.conf neutron service_metadata_proxy True
#openstack-config --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret METADATA_SECRET (123)
#service openstack-nova-api restart

#在controller0节点重启计算服务
回到网络节点继续配置,启动服务openvswitch
该项操作步骤需要在network0节点进行
#service openvswitch start
#chkconfig openvswitch on

Openstack安装与部署:neutron(network0)的安装与配置
配置OVS
OVS服务提供实例底层虚拟网络框架,集成网桥br-int处理实例内部网络流量,外部网桥br-ex处理外部网络流量
#ovs-vsctl add-br br-int
#ovs-vsctl add-br br-ex
#ovs-vsctl add-port br-ex eth1
#service openvswitch restart

修改eth1和br-ext网络配置
首先进入/etc/sysconfig/network-scripts/目录下,进行复制
#cp -p ifcfg-eth1 ifcfg-eth1.bak
#把原来的ifcfg-eth1修改名字为.bak备份,新建填入下面内容
Openstack安装与部署:neutron(network0)的安装与配置
#新建 ifcfg-br-ex 填入下面内容
Openstack安装与部署:neutron(network0)的安装与配置
#启动br-ex网桥设备
#为br-ext添加ip
#ip link set br-ex up
#ip addr add 172.16.0.20/24 dev br-ex

重启网络服务
Openstack安装与部署:neutron(network0)的安装与配置

(1)启动neutron服务
#service neutron-openvswitch-agent start
#service neutron-dhcp-agent start
#service neutron-l3-agent start
#service neutron-metadata-agent start
#chkconfig neutron-openvswitch-agent on
#chkconfig neutron-dhcp-agent on
#chkconfig neutron-l3-agent on
#chkconfig neutron-metadata-agent on

验证
在controller0节点上,查看neutron服务状态
#neutron agent-list
Openstack安装与部署:neutron(network0)的安装与配置
network0节点上,每次重启虚拟机,都要重新加一次ip地址
#ip link set br-ex up
#ip addr add 172.16.0.20/24 dev br-ex

所以将以上两条命令可以写入开机启动文件
#vi /etc/rc.local

查看网络
#ifconfig
Openstack安装与部署:neutron(network0)的安装与配置
出现的问题(查不到br-tun):
可以先检查网桥是否存在,若不存在需要手动添加。

Openstack安装与部署:neutron(network0)的安装与配置
Openstack安装与部署:neutron(network0)的安装与配置
添加后检查br-tun存在,执行ifconfig。
分别检查:
在controller0虚拟机中ping172.16.0.20和ping172.16.0.30
在network0虚拟机中ping172.16.0.10和ping172.16.0.30
在compute0虚拟机中ping172.16.0.10和ping172.16.0.20