区块链技术博客
www.b2bchain.cn

OpenStack U版双机部署-neutron服务

这篇文章主要介绍了OpenStack U版双机部署-neutron服务的讲解,通过具体代码实例进行17951 讲解,并且分析了OpenStack U版双机部署-neutron服务的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=17951

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

neutron服务

  • 前言
    • 一、基础网络配置
    • 二、controller节点
      • 1、数据库:
      • 2、创建身份认证
      • 3、self-service网络配置
        • 安装软件
        • 修改配置文件
          • neutron.conf
          • ml2_conf.ini
          • linuxbridge_agent.ini
          • l3_agent.ini
          • dhcp_agent.ini
      • 4、配置元数据代理
      • 5、配置计算服务以使用网络服务
      • 6、同步数据库启动服务
      • 7、启动服务
    • 二、compute节点
      • 1、self-service网络配置
        • 安装软件
        • 修改配置文件
          • neutron.conf
          • linuxbridge_agent.ini
      • 2、配置计算服务以使用网络服务
      • 3、启动服务
    • 三、验证

前言

nova服务之后就是neutron网络服务了,他是为OpenStack环境中创建的实例提供网络,就是二层网络和三层网络,根据官方文档中的内容是提供了两种网络:provider和self-service网络,

——》provider网络是依赖于自己的外部网络的,你想让创建出来的实例联网那么你的外部网络就需要可以连通外网,这个比较依赖于你的网络环境;

——》self-service网络是私有网络,就是可以自己将私有网络进行规划,你可以随便进行设置网络访问进行配置,但是他是不支持连接外网的,就是使用内部的自己创建的私有网络的,

如果想连接外网根据官方文档的操作还是得先创建出来provider网络,然后创建出来self-service网络,接着创建路由,将分配的地址绑定到self-service网络创建自己的实例上,这个实例才可以进行上网了。

我这里就是按照官方文档中self-service网络来部署,

但是为了可以让里面的实例可以访问外网,那么可以将neutron网络服务使用的那个网卡,网卡模式设置外NAT模式,然后外部自己的网络可以连接外网,

一、基础网络配置

根据官方文档中的设置是单独拿出来一个网卡,网络模式设置为none,然后静态地址也不配置,等着neutron网络服务来进行配置,但是我试验过,首先没法连通外网,使用这个网卡创建出来的网络分配给实例是没法连通外网的,接着没法自动分配地址,这个可以自己尝试下,我是没有创建成功。

所以我直接将网卡设置为NAT模式,Vmware的NAT模式启动DHCP功能,接着网卡的网络模式设置为DHCP让他自动获取地址,最后外部环境要保证可以联网,就是说操作系统能够正常联网,

我的规划是eth0网卡就是设置的NAT模式可以连接外网,而且neutron服务使用的也是这块网卡,

OpenStack U版双机部署-neutron服务

Vmware虚机外部网络这么配置的,

OpenStack U版双机部署-neutron服务

接着查看下Vmware的网络编辑器中NAT网络的配置,这里注意地址池的范围,我们后期创建网络的时候分配地址的时候会从NAT网络的地址池范围外拿一部分地址来给provider网络来使用,这个是可以看到的,

OpenStack U版双机部署-neutron服务

注意,上面的网络配置是controller节点上面的,在compute节点上也是需要这样配置的,如果你有很多的compute计算节点,那么配置多少个,

下面是compute节点的配置,和controller差不多,

OpenStack U版双机部署-neutron服务

OpenStack U版双机部署-neutron服务

接着验证下,看看两台机器能够互相ping通且能够连通外网,

注意,下面ping的时候使用的是主机名,所以本地的DNS解析文件中要设置好,这里在基础配置的时候设置过,我在查看下,两台机器这个文件内容相同。

PS:我这里主机名有有固定的规划的,为了做个试验修改主机名就比较麻烦了,所以我只是在主机解析文件中进行了修改,你可以直接修改主机名,也可以像我这样进行修改,都可以效果一样,没得影响。

OpenStack U版双机部署-neutron服务

在controller控制节点上可以ping通外网并且可以通过主机名ping通compute节点,

OpenStack U版双机部署-neutron服务

在compute节点可以ping通外网并且可以ping通controller节点,

OpenStack U版双机部署-neutron服务

二、controller节点

1、数据库:

# mysql -uroot -pXylong_000 
MariaDB [(none)]> CREATE DATABASE neutron; MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123'; MariaDB [(none)]> exit 

OpenStack U版双机部署-neutron服务

2、创建身份认证

接着创建用户然后赋予admin角色

# source admin-openrc  # openstack user create --domain default --password-prompt neutron # openstack role add --project service --user neutron admin 

OpenStack U版双机部署-neutron服务

接着创建service服务,

# openstack service create --name neutron   --description "OpenStack Networking" network 

OpenStack U版双机部署-neutron服务

接着创建出三类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 U版双机部署-neutron服务

3、self-service网络配置

安装软件

# yum install openstack-neutron openstack-neutron-ml2   openstack-neutron-linuxbridge ebtables 

OpenStack U版双机部署-neutron服务

修改配置文件

neutron.conf
# vim /etc/neutron/neutron.conf  

配置数据库访问

[database] connection = mysql+pymysql://neutron:[email protected]/neutron 

OpenStack U版双机部署-neutron服务

[DEFAULT] core_plugin = ml2	# 启用模块层2 (ML2)插件 service_plugins = router	#路由器服务 allow_overlapping_ips = true	#重叠IP地址 transport_url = rabbit://openstack:[email protected]	#配置RabbitMQ消息队列访问 auth_strategy = keystone	#配置keystone访问 notify_nova_on_port_status_changes = true	#配置网络以通知计算的网络拓扑变化 notify_nova_on_port_data_changes = true		#配置网络以通知计算的网络拓扑变化 

OpenStack U版双机部署-neutron服务

配置keystone服务访问

[keystone_authtoken] www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = 123 

OpenStack U版双机部署-neutron服务

配置网络以通知计算的网络拓扑变化

[nova] auth_url = http://controller:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = nova password = 123 

OpenStack U版双机部署-neutron服务

配置锁路径

[oslo_concurrency] lock_path = /var/lib/neutron/tmp 

OpenStack U版双机部署-neutron服务

ml2_conf.ini
# vim /etc/neutron/plugins/ml2/ml2_conf.ini  

这里注意,在U版的配置文件中,这些都是需要自己来进行手写的,

[ml2] type_drivers = flat,vlan,vxlan		#启用flat、VLAN和VXLAN网络 tenant_network_types = vxlan		#启用VXLAN self-service网络 mechanism_drivers = linuxbridge,l2population	#启用Linux桥接和二层填充机制: extension_drivers = port_security	#启用端口安全扩展驱动程序  [ml2_type_flat] flat_networks = provider	#将provider虚拟网络配置为flat网络  [ml2_type_vxlan] vni_ranges = 1:1000			#为self-service网络配置VXLAN网络标识符范围  [securitygroup] enable_ipset = true			#使ipset提高安全组规则的效率 

OpenStack U版双机部署-neutron服务

linuxbridge_agent.ini
# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini  
[linux_bridge] physical_interface_mappings = provider:eth0		#将provider虚拟网络映射到provider物理网络接口  [vxlan] enable_vxlan = true			#启用VXLAN覆盖网络 local_ip = 192.168.144.20	#配置处理覆盖网络的物理网络接口的IP地址 l2_population = true		#并启用层-2填充  [securitygroup] enable_security_group = true	#启用安全组 firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver	#配置Linux桥iptables防火墙驱动程序 

OpenStack U版双机部署-neutron服务

接着还要确保Linux操作系统内核支持网桥过滤器,通过验证所有以下sysctl值设置为1:

 # vim /etc/sysctl.conf  
net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 
# sysctl -p 

报错:

sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory 

OpenStack U版双机部署-neutron服务

根据官方文档中想让Linux操作系统支持网桥过滤是需要加载br_netfilter模块的,

先查看下模块是否加载——》没得

OpenStack U版双机部署-neutron服务

加载下be_netfilter模块,

# modprobe br_netfilter  # lsmod | grep br_netfilter 

OpenStack U版双机部署-neutron服务

这时候再执行就没有问题了,

OpenStack U版双机部署-neutron服务

l3_agent.ini
# vim /etc/neutron/l3_agent.ini  

配置Linux桥接接口驱动程序

[DEFAULT] interface_driver = linuxbridge 

OpenStack U版双机部署-neutron服务

dhcp_agent.ini
# vim /etc/neutron/dhcp_agent.ini  

配置Linux桥接接口驱动程序,Dnsmasq DHCP驱动程序,并启用隔离的元数据,这样在provider网络上的实例可以通过网络访问元数据:

[DEFAULT] interface_driver = linuxbridge	 dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = true 

OpenStack U版双机部署-neutron服务

4、配置元数据代理

# vim /etc/neutron/metadata_agent.ini  

这里使用的controller就是我们本地解析中设置的主机名,

[DEFAULT] nova_metadata_host = controller metadata_proxy_shared_secret = 123 

OpenStack U版双机部署-neutron服务

5、配置计算服务以使用网络服务

# vim /etc/nova/nova.conf  
[neutron] auth_url = http://controller:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = neutron password = NEUTRON_PASS service_metadata_proxy = true metadata_proxy_shared_secret = 123 

OpenStack U版双机部署-neutron服务

6、同步数据库启动服务

网络服务初始化脚本期望一个符号链接/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 

同步数据库

# 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 

OpenStack U版双机部署-neutron服务

OpenStack U版双机部署-neutron服务

# mysql -uneutron -p123 
MariaDB [(none)]> show databases; MariaDB [(none)]> use neutron MariaDB [neutron]> show tables; 

OpenStack U版双机部署-neutron服务

7、启动服务

# systemctl restart openstack-nova-api.service  # systemctl enable neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service # systemctl start neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service  # systemctl enable neutron-l3-agent.service # systemctl start neutron-l3-agent.service  # systemctl restart neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service neutron-l3-agent.service 

OpenStack U版双机部署-neutron服务

二、compute节点

1、self-service网络配置

安装软件

#  yum install openstack-neutron-linuxbridge ebtables ipset 

OpenStack U版双机部署-neutron服务

修改配置文件

neutron.conf
# vim /etc/neutron/neutron.conf  
[DEFAULT] transport_url = rabbit://openstack:[email protected] auth_strategy = keystone 

OpenStack U版双机部署-neutron服务

[keystone_authtoken] www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = 123 

OpenStack U版双机部署-neutron服务

[oslo_concurrency] lock_path = /var/lib/neutron/tmp 

OpenStack U版双机部署-neutron服务

linuxbridge_agent.ini
# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini  
[linux_bridge] physical_interface_mappings = provider:eth0		#将provider虚拟网络映射到provider物理网络接口:  [vxlan] enable_vxlan = true			#启用VXLAN覆盖网络 local_ip = 192.168.144.21	#配置处理覆盖网络的物理网络接口的IP地址 l2_population = true		#启用2层填充  [securitygroup] enable_security_group = true	#启用安全组 firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver	#配置Linux桥iptables防火墙驱动程序 

OpenStack U版双机部署-neutron服务

确保您的Linux操作系统内核支持网桥过滤器,通过验证所有以下sysctl值设置为1:

# vim /etc/sysctl.conf  
# vim /etc/sysctl.conf  
net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 
# sysctl -p 

OpenStack U版双机部署-neutron服务

果然还是没有添加br_netfilter模块,加载下重新查看

# modprobe br_netfilter  # lsmod | grep br_netfilter # sysctl -p 

OpenStack U版双机部署-neutron服务

2、配置计算服务以使用网络服务

# vim /etc/nova/nova.conf  
[neutron] auth_url = http://controller:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = neutron password = 123 

OpenStack U版双机部署-neutron服务

3、启动服务

# systemctl restart openstack-nova-compute.service # systemctl enable neutron-linuxbridge-agent.service # systemctl start neutron-linuxbridge-agent.service  # systemctl restart neutron-linuxbridge-agent.service 

OpenStack U版双机部署-neutron服务

三、验证

输出应该指出控制器节点上有四个代理,每个计算节点上有一个代理。

# openstack network agent list  

OpenStack U版双机部署-neutron服务

创建provider网络试一试

# source admin-openrc  # openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider 

OpenStack U版双机部署-neutron服务

接着创建子网,

# openstack subnet create --network provider --allocation-pool start=192.168.223.10,end=192.168.223.30 --dns-nameserver 192.168.223.2 --gateway 192.168.223.2 --subnet-range 192.168.223.0/24 provider 

注意,这里的网段必须是你的外网网段,我的是NAT模式,所以这里使用的就是NAT网络同一个网段的地址,并且是不在DHCP地址池中的地址,这里的网关你可以route -n查看,DNS地址你可以查看/etc/resolv.conf文件,

OpenStack U版双机部署-neutron服务

现在一个provider类型的网络就创建好了,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pck43Vpp-1605080725930)(C:UsersasusAppDataRoamingTyporatypora-user-images1604294804452.png)]OpenStack U版双机部署-neutron服务

在上面创建好子网之后我们可以在controller节点上查看下网络状态,我们eth0网卡上面的IP状态已经没得了,而是到了一个网桥上面了,查看下面网桥就可以看到之前eth0网卡上的IP地址了,

还有就是我们创建了一个provider类型的网络,那么这里就可以看到一个网桥,这就是创建网络在controller节点上多出来的,

OpenStack U版双机部署-neutron服务

接着还可以查看下网桥信息,可以更简洁的看到,

OpenStack U版双机部署-neutron服务

本文转自互联网,侵权联系删除OpenStack U版双机部署-neutron服务

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » OpenStack U版双机部署-neutron服务
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们