设为首页 收藏本站
查看: 1098|回复: 0

[经验分享] 云计算之openstack(N版)neutron网络服务最佳实践

[复制链接]

尚未签到

发表于 2018-5-31 10:36:19 | 显示全部楼层 |阅读模式
2.6网络服务
2.6.1neutron的概况
  网络服务提供网络,子网以及路由这些对象的抽象概念。每个抽象概念都有自己的功能,可以模拟对应的物理设备:网络包括子网,路由在不同的子网和网络之间进行路由转发。
  对于任意一个给定的网络都必须包含至少一个外部网络。不想其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种openstack安装之外的能从物理的,外部访问的试图。外部网络上的IP地址可供外部网络上的任意的物理设备访问,外部网络之外,任何networking设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。
  如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问的网关访问外部网络。
  另外,可以讲外部网络的IP地址分配给内部网络的端口,不符按什么时候一旦有链接到子网,那个链接被称作端口,你可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例。
  网络服务统一支持安全组。安全组允许管理员在安全组中定义防火墙规则,一个实例了一属于一个或多个安全组,网络为这个实例配置这些安全组中的规则,阻止或者开启端口,端口范围或者通信类型。
  每一个networking使用的插件都有其自有的概念。虽然对操作vni和openstack环境至关重要的,所有的networking安装使用了一个核心插件和一个安全组插件(或仅是空操作安全组插件)。另外,防火墙即服务(FWaas)和负载均衡即服务(LBaas)插件是可用的。
  
  
  Openstack networking
DSC0000.png

  网络:实际的物理环境下,我们使用交换机或者集线器把多个计算机连接起来形成了网络。在neutron的世界里,网络也是将多个不同的云主机连接起来。
  子网:在实际的物理环境下,在一个网络中。我们可以将网络划分成多个逻辑子网。在neutron的世界里,子网也是隶属于网络下的。
  端口:是实际的物理环境下,每个子网或者每个网络,都有很多的端口,比如交换机端口来供计算机连接。在neutron的世界里端口也隶属子网下,云主机的网卡会对应到一个端口上。
  路由器:在实际的网络环境下,不同网络或者不同逻辑子网之间如果需要进行通信,需要通过路由器进行路由。在neutron的实际物理路由也是这个作用。用来连接不同的网络或者子网。
   DSC0001.png
  
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:neutron@192.168.56.11/neutron
[DEFAULT]#启用ML2插件并禁用其他插件
core_plugin = ml2
service_plugins =
transport_url =rabbit://openstack:openstack@192.168.56.11 #配置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:openstack@192.168.56.11 #配置``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 | || | | | |
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-483372-1-1.html 上篇帖子: 云计算之openstack(N版)Nova计算服务最佳实践 下篇帖子: 云计算之openstack(N版)虚拟机创建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表