您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > OpenStack Neutron原理详解
Neutron原理详解OpenStack网络服务◦网络服务实现方式Neutron介绍Neutron组件剖析◦基本概念◦系统架构◦网络启用流程分析◦ML2Neutron典型部署模式动手实验◦练习1:租户私有网络创建练习FLATFLATDHCPVLANMULTI-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=NeutronServiceUniformAPIforallclientsOpenvSwitchLinuxBridgeCiscoNX1000NiciraNVPRyuNECOpenFlowFloodnightDashboard/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/stopdhcpserverMaintaindhcpconfigurationL3-agent负责公网浮动ip地址和NAT负责其他三层特性,例如负载均衡等每个network对应一个L3agentMetadata-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:SingleFLATNetworkMultiFLATNetworkMixedFlatandPrivateNetworkProviderRouterwithprivatenetworkPer-tenantRouterswithprivatenetworkPer-tenantRouterswithprivatenetworkSingleFLATNetwork类似FlatManagerFlatDHCPManager不支持floatingipMutipleFLATNetwork类似FlatManagerFlatDHCPManager不支持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.comBlog:WeiXin:@嗨皮WeiBo:@warrior_罗勇
本文标题:OpenStack Neutron原理详解
链接地址:https://www.777doc.com/doc-6313926 .html