Openstack组件部署 — Netwotking service组件介绍与网络基本概念
目录
前文列表
Openstack组件部署 — Overview和前期环境准备
Openstack组建部署 — Environment of Controller Node
Openstack组件部署 — Keystone功能介绍与认证实现流程
Openstack组件部署 — Keystone Install & Create service entity and API endpoints
Openstack组件部署 — keystone(domain, projects, users, and roles)
Openstack组件实现原理 — Keystone认证功能
Openstack组建部署 — Glance Install
Openstack组件实现原理 — Glance架构(V1/V2)
Openstack组件部署 — Nova overview
Openstack组件部署 — Nova_安装和配置Controller Node
Openstack组件部署 — Nova_Install and configure a compute node
Openstack组件实现原理 — Nova 体系结构
Openstack Networking serivce
OpenStack Networking (neutron) allows you to create and attach interface devices managed by other OpenStack services to networks. Plug-ins can be implemented to accommodate different networking equipment and software, providing flexibility to OpenStack architecture and deployment.
OpenStack Networking service,项目代号Neutron,能够让我们创建、插入接口设备,这些接口设备由其他的OpenStack service来管理。Plug-ins(插件式)的实现可以容纳多种不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
Neutron包含有以下组件:
neutron-server:接收和路由API request到合适的OpenStack Network Plug-ins,以达到预想的目的。
OpenStack Networking plug-ins and agents(网络插件和代理):创建网络和子网、提供IP地址、插拔端口,这些Plug-ins和agents都根据不同的供应商和技术而不同。基于Plug-ins和agents的OpenStack network,为Cisco虚拟交换机或物理交换机、NEC OpenFlow产品、Open vSwitch、Linux bridging以及VMware NSX产品创造了关联的可能性。
Messaging queue消息队列:大多数的OpenStack Networking安装都会应用消息队列的功能,用于在neutron-server和各种各样的agents进程之间进行信息的路由。也为某些特定的插件扮演临时数据库的角色,以此来存储网络状态。
OpenStack networking service主要和OpenStack compute service进行交互,以提供compute service连接到虚拟机实例所需要的网络条件。
Neutron体系结构图
- neutron-server能够接受并通过Message-queue来转发APIs给对应的Plug-ins
- neutron-server还能够应用软件定义的网络服务(Software Defined Networking Service)将REST风格的APIs转发给Plug-ins。
基本的Neutron概念
Neutron用于管理OpenStack云计算平台中所有网络方面的虚拟网络基础设施(VNI)和物理网络基础设施(PNI)的接入层。它允许Tenant创建包括Firewall(防火墙)、Load Balancer(负载均衡)、virtual private network(VPN)等高级网络拓扑。还为Openstack Networking提供了networks、subnets、routers等抽象对象的概念。每个抽象对象都拥有自己独特的功能,可以模拟各自对应的物理网络设备。
Neutron的抽象对象
其中networks包含了subnets,routers负责在不同的networks和subnets之间实现路由转发功能。每个router都有一个连接到network的Getway,router还有很多连接到subnet中的interface。所以一个subnet下的虚拟机可以访问连接到同一个router中的其他subnet下的虚拟机。
网络networks
Neutron networks目的是为了让OpenStack更灵活地划分物理网络,在多租户环境下能够为每个租户提供独立的网络环境。另外,Neutron还提供API来实现这个目标。Neutron networks是一个可以被用户创建的抽象对象,如果要和物理网络环境的概念进行映射的话,这个抽象对象相当于一个巨大的交换机,可以拥有无数个动态可创建和销毁的虚拟端口。而这些端点都会连接到networks中的subnets。
子网subnets
简单地说,subnets是由一组相同网段的IP地址组成的地址池。不同subnet间的通信需要routers的支持。Neutron中的subnets隶属于networks。
路由器routers
和物理网络环境下的路由器类似,Neutron中的routers也是一个路由选择和转发功能组件。只不过在Neutron中,routers是可以创建和销毁的软件组件。
端口
在物理网络环境中,端口是用于连接设备进入网络的地方。Neutron中的端口起着类似的功能,它是routers和虚拟机挂接网络的着附点。
Neutron的Public外部网络和Private内部网络
任何给定的Networking都需要设置至少有一个Public外部网络,Public外部网络与其他的网络不同,它不仅仅是一个虚拟网络。更重要的是它表示了OpenStack Netowrking能被外部物理网络接入并访问的视图。
注意:Public外部网络的IP地址只能被外部接入的物理网络所访问。因为Public外部网络仅仅代表了进入Internet的一个视图,实际上它的DHCP是关闭的。
Public外部网络之上,拥有一个或多个Private内部网络。这些由软件定义的Private内部网络能够直接连接到虚拟机。但只能是Private内部网络自身所包含的虚拟机或者是那些在通过Interface连接到同一个router的subnet上的虚拟机才能够被连接。即,不相连的Private内部网络之间是互相隔离的。
Neutron的security groups安全组
Neutron同样也支持 security groups(安全组)。安全组允许管理员实现防火墙规则的定义。一个虚拟机可以属于一个或多个安全组,Neutron为这个虚拟机配置这些安全组中的规则,例如:阻止或者开启端口,端口范围或者通信类型。
虚拟机如何连接到Internet外网
如果希望从Internet外网访问虚拟机,那么Openstack Networking中必须至少存在一个虚拟路由器。而且每个路由器至少配有一个能够连接到networks和Interface的Getway,而且这些Interface必须连接着subnet。通过这样一连串的网络配置,才能够保证能成功从外网连接到一个虚拟机。反之亦然。
如同物理路由器一样,subnet中的虚拟机可以访问连接到同一个路由器中的其他subnet的虚拟机,虚拟机也可以通过该路由器的网关访问外网。
Public、Private、路由器、虚拟机的关系示例图:
另外,你可以将Public外部网络的IP地址分配给Private内部网络的端口。这样的话一旦有什么连接到subnet,那么这个连接就叫做一个端口。你可以通过这个端口把外部网络IP地址分给虚拟机。
Openstack组件部署 — Netwotking service组件介绍与网络基本概念的更多相关文章
- Android组件系列----Android Service组件深入解析
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Openstack组件部署 — Networking service_Compute Node
目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...
- Openstack组件部署 — Networking service_安装并配置Controller Node
目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...
- Openstack组件部署 — Keystone Install & Create service entity and API endpoints
目录 目录 前文列表 Install and configure Prerequisites 先决条件 Create the database for identity service 生成一个随机数 ...
- Openstack组件部署 — Keystone功能介绍与认证实现流程
目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...
- Openstack组件部署 — 将一个自定义 Service 添加到 Keystone
目录 目录 Keystone 认证流程 让 Keystone 为一个新的项目 Service 提供验证功能 最后 Keystone 认证流程 User 使用凭证(username/password) ...
- Openstack组件部署 — keystone(domain, projects, users, and roles)
目录 目录 前文列表 Create a domain projects users and roles domain projects users and roles的意义和作用 Create the ...
- Openstack组件部署 — Nova_Install and configure a compute node
目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...
- Openstack组件部署 — Nova_安装和配置Controller Node
目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the C ...
随机推荐
- 关于Extjs6.0 controller文件过大,实现模块化分离
Extjs一般都是一个视图对应着一个controller 一旦碰到视图中逻辑过于繁琐造成controller文件过大不利于维护和修改,所以要通过混入mixins混入功能来实现模块化! 首先创建一个视图 ...
- 【C#技术】一篇文章搞掂:Infragistics组件库
工具栏 // 按钮不可按 tool.SharedProps.Enabled = false; Grid // Grid中记录时间 // 建议SQL Server中使用字符字段(没有深入测试,只是字符字 ...
- python 去除字符串两端字符串
转载:http://blog.sina.com.cn/s/blog_940224600100w8l0.html Python中的strip用于去除字符串的首位字符,同理,lstrip用于去除左边的字符 ...
- centos7 rm -rf 删除文件的找回
今天手贱一不小心把我正个项目目录删除了,没办法只能找回啦 文件系统是ext4的,只能使用extundelete df -hT 文件名 查看 下删除的文件夹所在的硬盘 1. 安装依赖 ...
- qrcode.js生成二维
使用到qrcode.js生成二维码 pako.js压缩字符串:https://github.com/nodeca/pako 参照代码如下: <!DOCTYPE HTML PUBLIC " ...
- table td 溢出隐藏
需要给table加一个属性:table-layout:fixed;
- 用Processing生成屏保(二)
代码 1: class TPoint 2: { 3: public TPoint(int _x, int _y) { 4: super(); 5: this._x = _x; 6: this._y = ...
- activi7流程部署
package com.zcc.acvitivi; import org.activiti.engine.ProcessEngine;import org.activiti.engine.Proces ...
- JPA单向和双向关系
单向关系 @JoinColumn 双向关系 @OneToMany @ManyToMany mappedBy
- 手把手教你吧Python应用到实际开发 不再空谈悟法✍✍✍
手把手教你吧Python应用到实际开发 不再空谈悟法 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...