云计算之openstack(N版)neutron网络服务最佳实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云计算之openstack(N版)neutron网络服务最佳实践相关的知识,希望对你有一定的参考价值。

2.6网络服务

2.6.1neutron的概况

网络服务提供网络,子网以及路由这些对象的抽象概念。每个抽象概念都有自己的功能,可以模拟对应的物理设备:网络包括子网,路由在不同的子网和网络之间进行路由转发。

对于任意一个给定的网络都必须包含至少一个外部网络。不想其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种openstack安装之外的能从物理的,外部访问的试图。外部网络上的IP地址可供外部网络上的任意的物理设备访问,外部网络之外,任何networking设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。

如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问的网关访问外部网络。

另外,可以讲外部网络的IP地址分配给内部网络的端口,不符按什么时候一旦有链接到子网,那个链接被称作端口,你可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例。

网络服务统一支持安全组。安全组允许管理员在安全组中定义防火墙规则,一个实例了一属于一个或多个安全组,网络为这个实例配置这些安全组中的规则,阻止或者开启端口,端口范围或者通信类型。

每一个networking使用的插件都有其自有的概念。虽然对操作vni和openstack环境至关重要的,所有的networking安装使用了一个核心插件和一个安全组插件(或仅是空操作安全组插件)。另外,防火墙即服务(FWaas)和负载均衡即服务(LBaas)插件是可用的。

 

 

Openstack networking

技术分享

网络:实际的物理环境下,我们使用交换机或者集线器把多个计算机连接起来形成了网络。在neutron的世界里,网络也是将多个不同的云主机连接起来。

子网:在实际的物理环境下,在一个网络中。我们可以将网络划分成多个逻辑子网。在neutron的世界里,子网也是隶属于网络下的。

端口:是实际的物理环境下,每个子网或者每个网络,都有很多的端口,比如交换机端口来供计算机连接。在neutron的世界里端口也隶属子网下,云主机的网卡会对应到一个端口上。

路由器:在实际的网络环境下,不同网络或者不同逻辑子网之间如果需要进行通信,需要通过路由器进行路由。在neutron的实际物理路由也是这个作用。用来连接不同的网络或者子网。

技术分享

 

2.6.2控制节点上neutron的配置与安装

a数据库的创建并授权

create databaseneutron;

grant all onneutron.* to ‘neutron‘@‘localhost‘ identified by ‘neutron‘;

grant all onneutron.* to ‘neutron‘@‘%‘ identified by ‘neutron‘;

 

b创建服务证书

获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

sourceadmin-openstack

创建``neutron``用户:

openstack usercreate --domain default --password-prompt neutron

添加``admin`` 角色到``neutron`` 用户:

openstack role add--project service --user neutron admin

 

c创建``neutron``服务实体

openstack servicecreate --name neutron \

--description"OpenStack Networking" network

d创建网络服务API端点

openstack endpointcreate --region RegionOne \

network publichttp://192.168.56.11:9696

openstack endpointcreate --region RegionOne \

network internalhttp://192.168.56.11:9696

openstack endpointcreate --region RegionOne \

network adminhttp://192.168.56.11:9696

 

e软件包的安装

yum install -yopenstack-neutron openstack-neutron-ml2 \

openstack-neutron-linuxbridgeebtables

 

f编辑``/etc/neutron/neutron.conf``

[database]#配置数据库访问

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

[DEFAULT]#启用ML2插件并禁用其他插件

core_plugin = ml2

service_plugins =

transport_url =rabbit://openstack:[email protected] #配置rabbitMQ消息队列访问权限

auth_strategy =keystone

notify_nova_on_port_status_changes= True

notify_nova_on_port_data_changes= True

[keystone_authtoken]#配置认证服务访问

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = neutron

password = neutron

[nova]  #配置网络服务来通知计算节点的网络拓扑变化

auth_url =http://192.168.56.11:35357

auth_type =password

project_domain_id =default

user_domain_id =default

region_name =RegionOne

project_name =service

username = nova

password = nova

[oslo_concurrency]配置锁路径

lock_path =/var/lib/neutron/tmp

 

 

配置 Modular Layer 2 (ML2) 插件

g编辑``/etc/neutron/plugins/ml2/ml2_conf.ini``

 

[ml2]

type_drivers=flat,vlan,gre,vxlan,geneve #启用flatVLAN网络

tenant_network_types= flat,vlan,gre,vxlan,geneve #禁用私有网络

mechanism_drivers=linuxbridge  #启用Linuxbridge机制

extension_drivers =port_security  #启用端口安装扩展驱动

[ml2_type_flat]

flat_networks =public #配置公共虚拟网络为public网络

[securitygroup]

enable_ipset = True#启用IPset增肌安全组的方便性

 

 

配置Linuxbridge代理

h编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``

[linux_bridge]#将公共虚拟网络和公共物理网络接口对应起来

physical_interface_mappings= public:eth0

[vxlan]#禁止vxlan覆盖网络

enable_vxlan =False

[securitygroup]#启用安全组并配置Linux桥接iptables防火墙驱动

enable_security_group= True

firewall_driver =neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

 

 

配置DHCP代理

i编辑``/etc/neutron/dhcp_agent.ini``

[DEFAULT]#配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络访问元数据

interface_driver =neutron.agent.linux.interface.BridgeInterfaceDriver

dhcp_driver =neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata= True

 

配置metadata元数据

元数据代理提供配置信息,如凭据实例。

j编辑``/etc/neutron/metadata_agent.ini``

[DEFAULT]#配置元数据主机以及共享密码

nova_metadata_ip =192.168.56.11

metadata_proxy_shared_secret= chunchun

 

配置计算服务来使用网络服务

k编辑``/etc/nova/nova.conf``

[neutron]#配置访问参数,启用元数据代理并设置密码

url =http://192.168.56.11:9696

auth_url =http://192.168.56.11:35357

auth_type =password

project_domain_name= default

user_domain_name =default

region_name =RegionOne

project_name =service

username = neutron

password = neutron

service_metadata_proxy= True

metadata_proxy_shared_secret= chunchun

 

网络服务初始化脚本需要一个超链接 /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

 

l同步数据库

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

验证数据库同步成功

mysql -h192.168.56.11 -uneutron -pneutron \

-e "useneutron;show tables;"|wc -l

163

 

m重新启动控制节点Nova API服务

systemctl restartopenstack-nova-api.service

 

n启动网络服务并将其配置为系统启动时启动

systemctl enableneutron-server.service \

neutron-linuxbridge-agent.serviceneutron-dhcp-agent.service \

neutron-metadata-agent.service

systemctl startneutron-server.service \

neutron-linuxbridge-agent.serviceneutron-dhcp-agent.service \

neutron-metadata-agent.service

 

2.6.3计算节点上neutron的配置与安装

a软件包的安装

yum install -yopenstack-neutron-linuxbridge ebtables ipset

 

b编辑``/etc/neutron/neutron.conf``文件

 

[DEFAULT]

transport_url =rabbit://openstack:[email protected] #配置``RabbitMQ``消息队列访问权限

auth_strategy =keystone

[keystone_authtoken]#配置认证服务访问

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = neutron

password = neutron

[oslo_concurrency]配置锁路径

lock_path =/var/lib/neutron/tmp

 

配置Linux桥接代理

 

c编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件

[linux_bridge]#将公共虚拟网络和公共物理网络接口对应起来

physical_interface_mappings= public:eth0

[vxlan]#禁止Vxlan覆盖网络

enable_vxlan =false

[securitygroup]  #启用安全组并配置Linux桥接iptables防火墙驱动

enable_security_group= True

firewall_driver =neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

 

配置计算节点使用网络

 

d编辑``/etc/nova/nova.conf``文件

在[neutron]部分,配置访问

[neutron]

url =http://192.168.56.11:9696

auth_url =http://192.168.56.11:35357

auth_type =password

project_domain_id =default

user_domain_id =default

region_name =RegionOne

project_name =service

username = neutron

password = neutron

 

 

e重启计算节点nova-compute服务

systemctl restartopenstack-nova-compute

 

f启动Linux桥接代理,包括它的依赖和配置并在系统启动时启动

systemctl enableneutron-linuxbridge-agent.service

systemctl startneutron-linuxbridge-agent.service

 

 

验证:

获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

sourceadmin-openstack

 

列出加载的扩展来验证``neutron-server``进程是否正常启动:

neutron agent-list

+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+

| id | agent_type |host | availability_zone | alive | admin_state_up | binary |

+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+

|3dfb07a5-d9e2-45ec-b77a- | Metadata agent | linux-node1.example.com | | :-) |True | neutron-metadata-agent |

| 471842f603e8 | || | | | |

| 9e7c94cf-fadd- |Linux bridge agent | linux-node1.example.com | | :-) | True |neutron-linuxbridge-agent |

|4b42-a316-ea1a5bce22de | | | | | | |

|a2ae2f2c-f453-449d-a46a- | DHCP agent | linux-node1.example.com | nova | :-) |True | neutron-dhcp-agent |

| c49edea6f9c5 | || | | | |

|ef8b5e4e-682e-4f57-af5e- | Linux bridge agent | linux-node2.example.com | | :-)| True | neutron-linuxbridge-agent |

| e50e9fa56615 | || | | | |

+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+


本文出自 “追梦IT男” 博客,请务必保留此出处http://runningyongboy.blog.51cto.com/8234857/1889360

以上是关于云计算之openstack(N版)neutron网络服务最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

openstack N版——创建云主机

云计算之openstack(N版)OpenStack-dashbord可视化服务

云计算之openstack(N版)虚拟机创建

中小企业openstack私有云布署实践12.2 网络Neutron-controller节点配置(办公网环境)

浅谈OpenStack T版服务组件--Neutron计算服务(#^.^#) 持续更新中

浅谈OpenStack T版服务组件--Neutron计算服务(#^.^#) 持续更新中