本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。
在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。
OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。
文章目录
控制节点网络服务Neutron组件
官方参考:OpenStack官方安装指南:服务组件,Neutron-install,neutron-install-rdo,
neutron-install-controller-install-rdo,neutron-install-controller-install-rdo
博客:CentOS7安装OpenStack(Rocky版)-06.安装Neutron网络服务(控制节点)
一、创建neutron相关数据库、服务凭证和API端点
1.创建neutron数据库,授予合适的访问权限
mysql -uroot -proot
-----------------------------------
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';
exit
----------------------------------
2.创建neutron服务凭据
(1)在keystone上创建neutron用户
cd
source admin-openrc.sh
openstack user create --domain default --password=neutron neutron
# 或者
openstack user create --domain default --password-prompt neutron
openstack user list
(2)将neutron授予admin角色,并添加到service项目
以下命令无输出
openstack role add --project service --user neutron admin
(3)创建neutron服务实体
openstack service create --name neutron --description "OpenStack Networking" network
openstack service list
3.创建neutron网络服务的API端点(endpoint)
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
openstack endpoint list
二、neutron相关软件安装与配置
现在可以做好网络名称的规划
供应商网络名称provider networks name:
供应商网络子网1名称provider networks subnet1 name:
供应商网络子网2名称provider networks subnet2 name:
自服务私有网络名称self-service networks name:
自服务私有网络子网1名称self-service networks subnet1 name:
自服务私有网络子网2名称self-service networks subnet2 name:
路由名称router name:
1.安装neutron相关软件
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
2.配置网络选项一:Provider networks
environment-networking-rdo
controller-install-option1-rdo
(1)配置neutron服务组件
/etc/neutron/neutron.conf
网络服务组件的配置包括数据库、身份验证机制、消息队列,拓扑更改通知和插件。
cd
touch controller-node-neutron.conf.sh
vim controller-node-neutron.conf.sh
bash controller-node-neutron.conf.sh
controller-node-neutron.conf.sh文件内容
#!bin/bash
#controller-node-neutron.conf.sh
openstack-config --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:neutron@controller/neutron
openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins
openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:openstack@controller
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes True
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password neutron
openstack-config --set /etc/neutron/neutron.conf nova auth_url http://controller:5000
openstack-config --set /etc/neutron/neutron.conf nova auth_type password
openstack-config --set /etc/neutron/neutron.conf nova project_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova user_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova region_name RegionOne
openstack-config --set /etc/neutron/neutron.conf nova project_name service
openstack-config --set /etc/neutron/neutron.conf nova username nova
openstack-config --set /etc/neutron/neutron.conf nova password nova
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp
echo "Result of Configuration"
egrep -v "^#|^$" /etc/neutron/neutron.conf
bash controller-node-neutron.conf.sh
(2)配置模块化层2(ML2)插件
/etc/neutron/plugins/ml2/ml2_conf.ini
ML2插件使用Linux桥接器机制为实例构建第2层(桥接和交换)虚拟网络基础结构。
cd
touch controller-node-ml2_conf.ini.sh
vim controller-node-ml2_conf.ini.sh
bash controller-node-ml2_conf.ini.sh
#!bin/bash
#controller-node-ml2_conf.ini.sh
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers linuxbridge
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks provider
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True
echo "Result of Configuration"
egrep -v "^#|^$" /etc/neutron/plugins/ml2/ml2_conf.ini
bash controller-node-ml2_conf.ini.sh
(3)配置Linux网桥代理
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
Linux网桥代理为实例构建第2层(桥接和交换)虚拟网络基础结构并处理安全组。
cd
touch controller-node-linuxbridge_agent.ini.sh
vim controller-node-linuxbridge_agent.ini.sh
bash controller-node-linuxbridge_agent.ini.sh
#!bin/bash
#controller-node-linuxbridge_agent.ini.sh
#map the provider virtual network to the provider physical network interface,the name of the underlying provider physical network interface
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:ens34
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan False
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group True
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
bash controller-node-linuxbridge_agent.ini.sh
加载br_netfilter内核模块。要启用网络桥接器支持,通常br_netfilter内核模块需要加载。参考Centos7网络桥接内核模块配置
echo net.bridge.bridge-nf-call-iptables = 1 >> /etc/sysctl.conf
echo net.bridge.bridge-nf-call-ip6tables = 1 >> /etc/sysctl.conf
cat /etc/sysctl.conf
sysctl -p
modprobe br_netfilter
ls /proc/sys/net/bridge
sysctl -p
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables
(4)配置DHCP代理
/etc/neutron/dhcp_agent.ini
DHCP代理为虚拟网络提供DHCP服务。
cd
touch controller-node-dhcp_agent.ini.sh
vim controller-node-dhcp_agent.ini.sh
bash controller-node-dhcp_agent.ini.sh
#!/bin/bash
#controller-node-dhcp_agent.ini.sh
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
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 enable_isolated_metadata True
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/dhcp_agent.ini
bash controller-node-dhcp_agent.ini.sh
安装完成后,进入继续下一步创建
或者
返回控制节点进行配置/etc/neutron/metadata_agent.ini
https://docs.openstack.org/neutron/train/install/controller-install-rdo.html#neutron-controller-metadata-agent-rdo
先进入下一步
第3和5项的,创建网络,调整,至网络配置第五步各种服务启动之后。
3.创建网络选项一:provider networks
配置:https://docs.openstack.org/neutron/train/install/controller-install-option1-rdo.html
创建:https://docs.openstack.org/install-guide/launch-instance-networks-provider.html
完成配置后,或者选择进入dashboard进行网络创建。
启动一个实例,官方文档launch-instance之launch-instance-networks,博客:启动一个实例,启动一个实例
4.配置网络选项二:Self-service networks
配置:https://docs.openstack.org/neutron/train/install/controller-install-option2-rdo.html
创建:https://docs.openstack.org/install-guide/launch-instance-networks-selfservice.html
(1)配置neutron服务组件
/etc/neutron/neutron.conf
在之前创建provider网络时已经配置过,但self网络也有特定的配置,下面会标出不同的地方。
#!bin/bash
#controller-node-neutron.conf.sh
openstack-config --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:neutron@controller/neutron
openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
#add detail
openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router
#add new
openstack-config --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips true
openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:openstack@controller
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes True
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password neutron
openstack-config --set /etc/neutron/neutron.conf nova auth_url http://controller:5000
openstack-config --set /etc/neutron/neutron.conf nova auth_type password
openstack-config --set /etc/neutron/neutron.conf nova project_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova user_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova region_name RegionOne
openstack-config --set /etc/neutron/neutron.conf nova project_name service
openstack-config --set /etc/neutron/neutron.conf nova username nova
openstack-config --set /etc/neutron/neutron.conf nova password nova
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp
echo "Result of Configuration"
egrep -v "^#|^$" /etc/neutron/neutron.conf
(2)配置模块化层2(ML2)插件
/etc/neutron/plugins/ml2/ml2_conf.ini
在之前创建provider网络时已经配置过,但self网络也有特定的配置,下面会标出不同的地方。
#!bin/bash
#controller-node-ml2_conf.ini.sh
#add vxlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan
#add detail
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan
#add detail
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers linuxbridge,l2population
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks provider
#add new
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:1000
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True
echo "Result of Configuration"
egrep -v "^#|^$" /etc/neutron/plugins/ml2/ml2_conf.ini
bash controller-node-ml2_conf.ini.sh
(3)配置Linux网桥代理
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
Linux网桥代理为实例构建第2层(桥接和交换)虚拟网络基础结构并处理安全组。
在之前创建provider网络时已经配置过,但self网络也有特定的配置,下面会标出不同的地方。
#!bin/bash
#controller-node-linuxbridge_agent.ini.sh
#map the provider virtual network to the provider physical network interface,the name of the underlying provider physical network interface
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:ens34
#change to true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan True
#add new
#local_ip = OVERLAY_INTERFACE_IP_ADDRESS,replace OVERLAY_INTERFACE_IP_ADDRESS with the management IP address of the controller node
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 192.168.232.101
#add new
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group True
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
加载br_netfilter内核模块。要启用网络桥接器支持,通常br_netfilter内核模块需要加载。参考Centos7网络桥接内核模块配置
echo net.bridge.bridge-nf-call-iptables = 1 >> /etc/sysctl.conf
echo net.bridge.bridge-nf-call-ip6tables = 1 >> /etc/sysctl.conf
cat /etc/sysctl.conf
sysctl -p
modprobe br_netfilter
ls /proc/sys/net/bridge
sysctl -p
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables
(4)配置第3层L3代理
/etc/neutron/l3_agent.ini
openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_driver linuxbridge
(5)配置DHCP代理
DHCP代理为虚拟网络提供DHCP服务。
/etc/neutron/dhcp_agent.ini
在之前创建provider网络时已经配置过,此处self网络的配置与其相同。
#!/bin/bash
#controller-node-dhcp_agent.ini.sh
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
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 enable_isolated_metadata True
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/dhcp_agent.ini
5.创建网络选项二:Self-service networks
配置:https://docs.openstack.org/neutron/train/install/controller-install-option2-rdo.html
创建:https://docs.openstack.org/install-guide/launch-instance-networks-selfservice.html
完成配置后,或者选择进入dashboard进行网络创建。
三、配置元数据代理
neutron-controller-install-rdo
configure-the-metadata-agent
/etc/neutron/metadata_agent.ini
元数据代理提供配置信息,例如实例的凭据。
cp -a /etc/neutron/metadata_agent.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/metadata_agent.ini.bak > /etc/neutron/metadata_agent.ini
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host controller
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret neutron
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/neutron/metadata_agent.ini
四、配置控制节点的计算服务,使其能够使用网络服务
Configure the Compute service to use the Networking service
控制节点必须安装Nova计算服务才能完成此步骤。
/etc/nova/nova.conf
cd
touch controller-node-neutron-nova.conf.sh
vim controller-node-neutron-nova.conf.sh
bash controller-node-neutron-nova.conf.sh
#!bin/bash
#controller-node-neutron-nova.conf.sh
openstack-config --set /etc/nova/nova.conf neutron url http://controller:9696
openstack-config --set /etc/nova/nova.conf neutron auth_url http://controller:5000
openstack-config --set /etc/nova/nova.conf neutron auth_type password
openstack-config --set /etc/nova/nova.conf neutron project_domain_name default
openstack-config --set /etc/nova/nova.conf neutron user_domain_name default
openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne
openstack-config --set /etc/nova/nova.conf neutron project_name service
openstack-config --set /etc/nova/nova.conf neutron username neutron
openstack-config --set /etc/nova/nova.conf neutron password neutron
openstack-config --set /etc/nova/nova.conf neutron service_metadata_proxy true
openstack-config --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret neutron
echo "Result of Configuration"
egrep -v '(^$|^#)' /etc/nova/nova.conf
bash controller-node-neutron-nova.conf.sh
五、控制节点最终确定安装
1.初始化安装网络插件
创建网络插件的软连接,初始化网络的脚本插件会用到/etc/neutron/plugin.ini,需要使用ML2的插件进行提供
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
2.填充数据库
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
3.重新启动Compute API服务
systemctl restart openstack-nova-api.service
4.启动neutron网络服务并设置开机启动
neutron-server.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
systemctl enable neutron-server.service \
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
neutron-metadata-agent.service
systemctl list-unit-files |grep neutron* |grep enabled
如果(四)配置网络选项时,使用选项2,还应再启动第3层服务
systemctl start neutron-l3-agent.service
systemctl enable neutron-l3-agent.service
3.创建网络选项一:provider networks
配置:https://docs.openstack.org/neutron/train/install/controller-install-option1-rdo.html
创建:https://docs.openstack.org/install-guide/launch-instance-networks-provider.html
完成配置后,或者选择进入dashboard进行网络创建。
启动一个实例,官方文档launch-instance之launch-instance-networks,博客:启动一个实例,启动一个实例
(1)加载环境变量
source admin-openrc.sh
(2)创建网络:provider
创建的虚拟网络名称为:providernet
openstack network create --share --external --provider-physical-network provider --provider-network-type flat providernet
#查看网络
openstack network list
参数说明:
参数说明:
--share 指明所有项目都可以使用这个网络,否则只有创建者能使用
--external 指明是外部网络
--provider-physical-network provider 指明物理网络的提供者,与下面neutron的配置文件对应,其中provider是标签,可以更改为其他,但是2个地方必须要统一。
[ml2_type_flat]
flat_networks = provider
--provider-network-type flat 指明这里创建的网络是flat类型,即实例连接到此网络时和物理网络是在同一个网段,无vlan等功能。
vm-network 网络名称
旧版的命令(在这个版本中会少创建一些东西),可以参考
neutron net-create --shared --provider:physical_network [自定义的物理网卡的名称] --provider:network_type flat(单一扁平网络) [创建的虚拟网络名称]
neutron net-create --shared --provider:physical_network provider --provider:network_type flat providernet
(3)检查确认网络配置
/etc/neutron/plugins/ml2/ml2_conf.ini
vim /etc/neutron/plugins/ml2/ml2_conf.ini
-----------------------------
[ml2_type_flat]
flat_networks = provider
-----------------------------
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
-----------------------------
[linux_bridge]
physical_interface_mappings = provider:ens34
-----------------------------
(4)创建子网:subnet
在父网络providernet中创建子网络名称providernet-subnet1
openstack subnet create --network providernet \
--allocation-pool start=192.168.2.220,end=192.168.2.230 \
--dns-nameserver 1.1.1.1 --gateway 192.168.2.1 \
--subnet-range 192.168.2.0/24 providernet-subnet1
#查看子网
openstack subnet list
参数说明:
openstack subnet create --network provider \
--allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS \
--dns-nameserver DNS_RESOLVER --gateway PROVIDER_NETWORK_GATEWAY \
--subnet-range PROVIDER_NETWORK_CIDR provider
参数:
--network 指明父网络
--allocation-pool start=10.8.20.50,end=10.8.20.60 指明子网起始地址和终止地址
--dns-nameserver 指明dns服务器
--gateway 指明网关地址
--subnet-range 指明子网网段
vm-subnetwork 子网名称
同一个父网络下也支持创建多个子网络。
openstack subnet create --network provider --no-dhcp --allocation-pool start=192.168.1.210,end=192.168.1.220 --dns-nameserver 4.4.4.4 --gateway 192.168.1.1 --subnet-range 192.168.1.0/24 provider-subnet01
openstack subnet create --network provider --dhcp --subnet-range 192.168.2.0/24 provider-subnet02
openstack subnet list
进入三。或者而后可以,
Launch an instance - Create virtual networks.
先进入三
或者继续,第4步:创建网络选项二
5.创建网络选项二:Self-service networks
配置:https://docs.openstack.org/neutron/train/install/controller-install-option2-rdo.html
创建:https://docs.openstack.org/install-guide/launch-instance-networks-selfservice.html
完成配置后,或者选择进入dashboard进行网络创建。
(1)加载环境变量
source admin-openrc.sh
(2)创建网络:selfservice
openstack network create selfservicenet
(3)检查确认网络配置
/etc/neutron/plugins/ml2/ml2_conf.ini
可以考虑在安装neutron网络服务的时候进行,该参数的配置。下面确认参数如下
vim /etc/neutron/plugins/ml2/ml2_conf.ini
---------------------------------------------------------
[ml2]
tenant_network_types = vxlan
[ml2_type_vxlan]
vni_ranges = 1:1000
---------------------------------------------------------
遇到的问题:openstack neutron-server.service启动出错
下面是/etc/neutron/plugins/ml2/ml2_conf.ini配置的一个例子:
# cat /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_vxlan]
vni_ranges = 1:1000
[securitygroup]
enable_ipset = True
(4)创建子网:subnet
在父网络selfservicenet中创建子网络selfservicenet-subnet1
openstack subnet create --network selfservicenet \
--dns-nameserver 8.8.4.4 --gateway 172.16.1.1 \
--subnet-range 172.16.1.0/24 selfservicenet-subnet1
#查看子网
openstack subnet list
参数解释:
openstack subnet create --network selfservice \
--dns-nameserver DNS_RESOLVER --gateway SELFSERVICE_NETWORK_GATEWAY \
--subnet-range SELFSERVICE_NETWORK_CIDR selfservice
#私有网络建议使用https://tools.ietf.org/html/rfc1918
#10.0.0.0 - 10.255.255.255 (10/8 prefix)
#172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
#192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
(5)创建路由器:router
launch-instance-networks-selfservice
完成配置后,或者选择进入dashboard进行网络创建。
有些服务需要重启,才能创建成功,这里直接重启服务器,待完善。
自助服务网络使用通常执行双向NAT的虚拟路由器连接到提供商网络。每个路由器均包含至少一个自助服务网络上的接口和提供商网络上的网关。
提供者网络必须包括router:external允许自助服务路由器将其用于连接到外部网络(例如Internet)的选项。
本admin或其他特权用户必须包括网络创建过程中,此选项或以后添加。
在这种情况下,该 router:external选项是–external在创建provider网络时通过使用参数来设置的。
#加载环境变量
source admin-openrc.sh
#创建路由器
#创建
openstack router create router1
#将自助服务网络的子网添加为路由器上的接口:
openstack router add subnet router1 selfservicenet-subnet1
#在路由器的提供商网络上设置网关:
openstack router set router1 --external-gateway providernet
#等待100s
#验证路由器
#列出网络名称空间。您应该看到一个qrouter名称空间和两个 qdhcp名称空间
ip netns
#列出路由器上的端口,以确定提供商网络上的网关IP地址:
openstack port list --router router1
#从控制器节点或物理提供商网络上的任何主机ping此IP地址
ping -c 4 192.168.2.220中的那个路由地址
进入三。或者而后可以, Launch an instance - Create virtual networks.
先进入三
安装完成后返回:控制节点进行配置/etc/neutron/metadata_agent.ini
https://docs.openstack.org/neutron/train/install/controller-install-rdo.html#neutron-controller-metadata-agent-rdo
六、控制节点Neutron网络服务安装完成
至此,控制端的neutron网络服务就安装完成,之后需要在计算节点安装网络服务组件,使计算节点可以连接到openstack集群。
请打开下一篇教程文件,开始计算节点的网络服务配置与安装。【也包括供应商网络和私有网络】