OpenStack Neutron原理详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Neutron原理详解OpenStack网络服务◦网络服务实现方式Neutron介绍Neutron组件剖析◦基本概念◦系统架构◦网络启用流程分析◦ML2Neutron典型部署模式动手实验◦练习1:租户私有网络创建练习FLATFLATDHCPVLANMULTI-HOSTnova-network负责网络功能FLAT指定一个子网,规定虚拟机能使用的ip地址范围创建实例时,从有效ip地址池获取一个IP,为虚拟机实例分配,然后在虚拟机启动时候注入虚拟机镜像(文件系统);手动配置好网桥(br100),所有的系统实例都是和同一个网桥连接;网桥与连到网桥的实例组成一个虚拟网络网络控制器(nova-network节点)对虚拟机实例进行NAT转换,实现与外部的通信目前配置注入只能够对Linux类型的操作系统实例正常工作与Flat模式一样,从ip池取出ip分配给虚拟机实例,所有的实例都在计算节点中和一个网桥相关。网络控制器(运行nova-network服务的节点)运行dnsmasq作为DHCP服务器监听这个网桥;实例通过dhcpbootp发送请求;网络控制器把从一个指定的子网中获得的IP地址响应给虚拟机实例;实例通过网络控制器与外部实现互相访问FLATDHCPFLATDHCPSource:每个用户分配一个VLAN,每个用户创建的instance在同一VLAN里每个用户分配一个网段,网络控制器上的DHCP服务器为所有的VLAN所启动,为虚拟机分配私网IP地址网络控制器为所有instance做NAT转换解决了二层隔离的问题,但是VLAN4096的限制,导致单个集群只能最多4096个用户使用,符合企业私有云使用,但是不适合公有云VLAN没有集中的nova-network服务,消除网络瓶颈每个nova-compute节点上,同时运行nova-network和dnsmasq,nova-network提供NAT和防火墙服务,dnsmasq负责DHCPIP地址分配可以和VLAN配置一起使用,同一个VLAN里面的虚拟机相互之间可以互通符合公有云部署需求,但是nova-networkHA是一个隐患MUTLI-HOST模式Multi-Host模式传统桥接模式用户不能自定义网络网络隔离大规模部署OpenStack早些版本网络的问题高密度多租户大规模扩展虚拟机的可移动性资源的管理的自动化价格用户自定义网络丰富的多层拓扑结构QoS保证防火墙、VPN、IDS、LBAAS等安全服务监控和审计网络连接服务Networkconnectivityasaservice提供面向租户(Tenant)的API接口,用于创建虚拟网络,路由器,负载均衡等,关联instance到指定的网络和路由通过API接口管理虚拟或物理交换机提供plugin架构来支持不同的技术平台NeutronPrivateNetwork–提供固定私网地址NeutronPublicNetwork–提供浮动IP地址Network一个L2二层网络单元租户可通过NeutronAPI创建自己的网络Subnet一段IPV4/IPV6地址段为Instance提供私网或公网地址Router三层路由器为租户的Instance提供路由功能Port虚拟交换机上的端口管理Instance的网卡NovaComputeNovaComputeNovaComputeNovaComputeNovaComputeTenantScriptsHorizonNovaAPIClientsNeutronServerNeutronPluginCreate-net...Create-portvirtualswitchInternalplugincommunication.NeutronAPICreate-net...Create-portInterfacesfromaservicelikeNovaplugintoaswitchmanagesbytheNeutronplugin.API+Plugin=NeutronServiceUniformAPIforallclientsOpenvSwitchLinuxBridgeCiscoNX1000NiciraNVPRyuNECOpenFlowFloodnightDashboard/AutomationToolsNovaServiceXenServer#1NeutronPluginnova-apiHypervisorvswitchnova-schedulernova-computeTenantAPITenantAPIInternalPluginCommunicationInternalnovaCommunicationNeutronAPINeutronServiceNeutronserver&ml2lm2agentDHCPagentDBQueue■NeutronServer实现NeutronAPI和API扩展管理Network,subnet,port管理port的IP地址■ML2agent运行在每个计算节点上(computenode)连接虚拟机到网络端口■DHCPagent负责DHCP配置,为虚拟机分配IP开始/停止dhcp服务器Inmulti-hostmode,runoneachcomputenode(deferred)Start/stopdhcpserverMaintaindhcpconfigurationL3-agent负责公网浮动ip地址和NAT负责其他三层特性,例如负载均衡等每个network对应一个L3agentMetadata-agent提供元数据服务NeutronL3-agent,dhcp-agent,novametadataAPIserverDB和Queue可以和其他组件共享l3-agentmetadata-agentSource:(POST/tenant1/network)NetworkUUID:‘abc’CreateServer(POST/tenant1/server)NovaServerServerUUID:‘def’GetServerInterface(s)(GET/tenant1/server/def/interface)ServerInterfaceUUIDList:[‘ghi’]CreatePortonNetwork(POST/tenant1/network/abc/port)PortUUID‘jkl’AttachInterfacetoport(PUT/tenant1/network/abc/port/jkl){‘attachment’:‘ghi’}SuccessSource:SingleFLATNetworkMultiFLATNetworkMixedFlatandPrivateNetworkProviderRouterwithprivatenetworkPer-tenantRouterswithprivatenetworkPer-tenantRouterswithprivatenetworkSingleFLATNetwork类似FlatManagerFlatDHCPManager不支持floatingipMutipleFLATNetwork类似FlatManagerFlatDHCPManager不支持floatingipMixedFlatandPrivateNetworkProviderRouterwithprivatenetworkPer-tenantRouterswithprivatenetworkNeutronMulti-Host模式DatanetworkManagementnetworkControlnodeDHCPqdhcp-xxnamespaceNeutron-ns-metadata-proxyNeutron-metadata-agentunixsocketComputenodeVMNeutron-dhcp-agentNeutron-l3-agentNeutron-l2-agentVMVMnova-computeexternalnetworkDHCPqdhcp-xxnamespaceNeutron-ns-metadata-proxyNeutron-metadata-agentunixsocketComputenodeVMNeutron-dhcp-agentNeutron-l3-agentNeutron-l2-agentVMVMnova-computeSource:◦租户私有网络创建练习练习1:利用Dashboard创建私有网络,并创建instance练习2:为instance分配一个floatingIP验证连通性Email:yongluo2013@gmail.comBlog:WeiXin:@嗨皮WeiBo:@warrior_罗勇

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功