24.neutron网络节点和计算节点配置
配置网络节点:
网络节点需要安装的包:
- openstack-neutron.noarch
- openstack-neutron-openvswitch.noarch
- openvswitch.x86_64
# yum install -y openstack-neutron.noarch openstack-neutron-openvswitch.noarch openvswitch.x86_64
网络节点需要运行br-ex br-int br-tun,这些网桥是由openvswitch 管理的,所以先启动起来openvswitch
# systemctl start openvswitch
# systemctl enable openvswitch
# systemctl is-active openvswitch
查看并创建网桥:
# ovs-vsctl list-br
# ovs-vsctl add-br br-ex
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-tun
将控制节点的neutron.conf同步到网络节点和计算节点上:
[[email protected] ml2]# vim /usr/lib/systemd/system/neutron-l3-agent.service [Unit] Description=OpenStack Neutron Layer 3 Agent After=syslog.target network.target
[Service] Type=simple User=neutron ExecStart=/usr/bin/neutron-l3-agent --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/l3_agen t --config-file /etc/neutron/neutron.conf --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l3- agent --log-file /var/log/neutron/l3-agent.log PrivateTmp=false KillMode=process
[Install] WantedBy=multi-user.target |
neutron-l3-agent 调用neutron.conf,所以将neutron server的配置文件复制到网络节点和计算节点上
- 网络节点配置DHCP服务,修改dhcp_agent.ini文件:
- 配置路由服务,修改l3_agent.ini:
- 修改元数据代理: [先访问网络节点上的元数据代理,再访问元数据(controller server)然后应用apply]
#keystone 信息等:
后期装nova的nova的密码: 提前设定在[neutron] section 中
配置VM是从eth0出去找网络节点eth0:
写入相关local接口的ip地址即可:
- 启动neutron在网络节点的服务:
# systemctl list-unit-files | grep neutron
# systemctl start neutron-dhcp-agent.service neutron-l3-agent.service neutron-metadata-agent.service neutron-openvswitch-agent.service neutron-ovs-cleanup.service
#########################################################################################################
配置计算节点:
启动ovs服务:
# systemctl start openvswitch
新建网桥:
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-tun
计算节点只需要启动openvswitchagent服务,只需要修改/plugins/ml2/openvswitch_agent.ini,修改此文件:
最后网络节点和计算节点都重启下服务:
网络节点:
计算节点:
# systemctl restart neutron-openvswitch-agent.service
从计算节点和网络节点都可以看到br-tun的连接关系:
创建网络来测试:
- 首先桥接br-ex,将eno33554992桥接到br-ex上
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
IPADDR=192.168.253.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
TYPE=OVSPort
OVS_BRIDGE=br-ex
BOOTPROTO=none
DEVICE=eno33554992
ONBOOT=yes
DEVICETYPE=ovs
- 重启网络:
- ###解释bridge关联性,下图显示的是网络节点的v*n关系,同理计算节点也是如此,从而形成了v*n通道传输数据
- 创建外部网络:
# neutron net-create --router:external --provider:network_type vxlan --provider:segmentation_id 1 --tenant-id services pub-ex
- 创建外部网络网段:
# neutron subnet-create --name ex_ip --allocation-pool start=192.168.253.20,end=192.168.253.40 pub-ex 192.168.253.0/24
- 创建内部私有网络:
# neutron net-create sub_1
- 创建内部私有网络网段:
# neutron subnet-create --name sub1_ip sub_1 10.0.0.0/24
- 创建路由器:
# neutron router-create r1
- 路由连接到外部网络:
# neutron router-gateway-set r1 pub-ex
- 路由连接到私有网络的子网里:
# neutron router-interface-add r1 sub1_ip