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

[经验分享] OpenStack网络介绍(一)【What Is OpenStack Networking】

[复制链接]

尚未签到

发表于 2018-6-2 13:04:15 | 显示全部楼层 |阅读模式
  对于OpenStack网络的情况,一直是一知半解。本文是翻译OpenStack Networking的官方文档,对OpenStack网络的情况从入门开始讲起。比较靠谱。水平有限,不妥之处请指正。
What Is OpenStack Networking?
OpenStack Networking API: Rich Control over Network Functionality
OpenStack网络是一个虚拟网络服务,它提供一种强力的API定义其他服务的设备(例如Openstack compute)的网络连接和地址。
OpenStack Compute API抽象成一个虚拟机服务器用来描述计算资源。相似的,OpenStack Networking API有网络,子网,端口的抽象,用来描述网络资源。更详细的:
ØNetwork. 一个二层的隔离,类似于VLAN在物理网络中的作用。
ØSubnet.一块IPV4或者ipv6的地址,与配置状态有关。
ØPort. 单个设别连接到虚拟网络的连接点,描述网络的相关配置
你可以配置丰富的网络拓扑结构,通过创建和配置NetworkSubnet,然后指示其他的OpenStack的服务,如OpenStack Compute将虚拟设备连接到这些网络上的端口。特别的,OpenStack的网络支持每个租户有多个专用网络(private network),并允许租户选择自己的IP解决方案(IP addressing scheme),即使与其他租户使用这些IP地址重叠。应用这种先进网络配置的情况下,可以开发多层web应用,并允许应用迁移到云中,而不改变IP地址。
即使云管理员不打算直接向租户公开这些能力,OpenStack的网络API作为管理员API也是非常有用的,因为它提供了更多的灵活性为云管理员可以自定义网络产品。
OpenStack的网络API也提供了一种机制,让云管理员可以通过API扩展暴漏额外的API功能。一般情况下,API的新能力,作为一个API的扩展出现,并随着时间的推移成为OpenStack的网络的核心API的一部分。
Plugin Architecture: Flexibility to Choose Different NetworkTechnologies
加强传统的网络解决方案,提供丰富的云网络是具有挑战性的。传统网络的目的不是要扩展到云的比例或自动配置。
最原始的OpenStack compute network实现的是一个非常基本的模型,通过LinuxVLANIP表来实现所有的隔离。OpenStack Network引入了插件的概念,这是一个可插拔的后端实现的OpenStack Network API。插件可以使用多种技术来实现API的请求逻辑。一些OpenStack的网络插件可能会使用基本的Linux VLANIP表,而其他人可能使用更先进的技术,为客户提供类似的服务,如L2-in-L3、隧道或OpenFlow。现阶段OpenStack支持的插件有:
ØOpen vSwitch. Documentation included in this guide.
ØCisco.Documented externally at:http://wiki.openstack.org/cisco-quantum
ØLinux Bridge. Documentation included in this guide andhttp://wiki.openstack.org/Quantum-Linux-Bridge-Plugin
ØNicira NVP. Documentation include in this guide,NVPProduct Overview, andNVP Product Support.
ØRyu.https://github.com/osrg/ryu/wiki/OpenStack
ØNEC OpenFlow.http://wiki.openstack.org/Quantum-NEC-OpenFlow-Plugin
ØBig Switch, Floodlight REST Proxy.http://www.openflowhub.org/display/floodlightcontroller/Quantum+REST+Proxy+Plugin
ØPLUMgridhttps://wiki.openstack.org/wiki/Plumgrid-quantum
ØHyper-V Plugin.
ØBrocade Plugin.
ØMidonet Plugin.
插件可以有不同的属性,在不同的硬件要求,特点,性能,规模,操作工具情况下支持不同插件,这使云管理员需要权衡不同的选项,并决定哪个网络技术的部署是正确的。
Table 1.1. Plugin   Compatibility with OpenStack Compute Drivers


Libvirt   (KVM/QEMU)
XenServer
VMware
Hyper-V
Bare-metal
PowerVM
Open vSwitch
Yes





Linux Bridge
Yes





Cisco
Yes





Nicira NVP
Yes
Yes
Yes



Ryu
Yes





NEC
Yes





Bigswitch /  Floodlight
Yes





Hyper-V



Yes


Brocade
Yes





Midonet
Yes





Plumgrid
Yes





OpenStack Networking Architecture
  这部分描述OpenStack Networking 高层次的组件的部署。
Overview
在部署OpenStack Networking之前,了解解决方案的不同的组件,理解这些组件之间(agentl3dhcp)是如何交互并了解这些组件如何与其他OpenStack服务(computecinder等)交互是非常有用的。
OpenStack Networking 是一个独立的服务,就像Openstack的其他服务一样例如OpenStack ComputeOpenStack Image serviceOpenStack Identity serviceOpenStack Dashboard等。和这些服务一样,部署OpenStack Networking经常涉及部署一些进程在不同的host上。
提供OpenStack Networking的主要进程是quantum-server,这是一个Python守护进程,它公开OpenStack的网络API,将用户请求传递到OpenStack的网络插件,进行额外的处理。通常情况下,这个插件需要访问持久存储到数据库,类似OpenStack的其他服务。
如果使用控制节点来运行集中OpenStack Compute组件,你可以在同一主机上部署OpenStack的网络服务器。不过,OpenStack Networking是完全独立的,并可以部署在自己的服务器。 OpenStack的网络还包括额外的代理可能需要根据具体情况进行部署:
Øplugin agent (quantum-*-agent).运行在每个虚拟机管理程序来执行本地vswitch配置。代理运行取决于哪个插件,你所使用的一些插件,不需要代理。
Ødhcp agent (quantum-dhcp-agent). 为租户网络提供DHCP服务。这个agent对所有插件都是一样的。
Øl3 agent(quantum-l3-agent).提供L3/NAT,为租户网络上的虚拟机提供外部网络访问服务。对所有插件都一样。
    这些agent与主要的quantum-server进程通过如下的方法交互:
Ø通过RPC,例如rabbitmq或者qpid
Ø通过标准的OpenStack Networking APIjson
OpenStack的网络依赖于OpenStack的身份项目(keystone),所有的API请求都需要进行身份验证和授权。
OpenStack computeOpenStack networking的交互,通过调用标准的API。例如,创建一个虚拟机时,nova-computeOpenStack Networking API进行通信,将虚拟机的虚拟网卡plug到一个特定的网络上的。
OpenStack DashboardHorizon)与OpenStack的网络API的集成,允许管理员和租户用户,创建和管理网络服务,通过Horizon GUI
Place Services on Physical Hosts
与其他的Openstack服务一样,Openstack networking为云管理员提供灵活的决定独自的服务应该在那个物理设备上运行的权利。极限情况下,所有的所需要的服务可以在一个单个物理节点上运行,用来做评测。另一方面,每个服务都可以由自己的屋里host,某些情况下服务可以再多个节点上做冗余部署。详情请看http://docs.openstack.org/grizzly/openstack-network/admin/content/ch_high_avail.html
本指南中,我们主要集中介绍最标准架构,包含一个云控制节点,一个网络节点和一系列Hypervisors用来运行虚拟机,即计算节点。控制节点和网络节点在简单部署中可以被合并。尽管如果你期望vm通过Internet发送大量的通信流量,我们建议网络节点被独立部署。否则可能会在quantum-l3-agentOpenstack的其他服务之间造成潜在CPU竞争。
Network Connectivity for Physical Hosts
    
      一个标准的openstack networking的安装需要以下四个不同的物理数据中心网络:
ØManagement network. 用于Openstack内部组件的通信。这个网络上的IP地址只在整个数据中心内是可达的。
ØData network. 用于云中部署的虚拟机之间的数据通信,这个网络中的IP地址的需求取决于Openstack networking使用的插件。
ØExternal network. 用来提供在某些场景下虚拟机与外部Internet的连接。这个网络中的IP得知需要对Internet上的每个人都是可达的。
ØAPI network. 暴漏所有的OpenstackAPI借口,包含Openstack networking api,对租户。这个网络中的IP地址也应该是对Internet上的每个人都可达。本网络可能与external network是一个网络,由于external network可以创建一个子网,这个子网中的ip分配范围比整个IP块分配的范围小。

今天就翻译到这里。。有不恰当的地方请大牛们指点。
  

运维网声明 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-507811-1-1.html 上篇帖子: openstack API 开发 下篇帖子: OpenStack身世揭秘
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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