探索 OpenStack.docx

上传人:b****7 文档编号:10212526 上传时间:2023-02-09 格式:DOCX 页数:11 大小:265.90KB
下载 相关 举报
探索 OpenStack.docx_第1页
第1页 / 共11页
探索 OpenStack.docx_第2页
第2页 / 共11页
探索 OpenStack.docx_第3页
第3页 / 共11页
探索 OpenStack.docx_第4页
第4页 / 共11页
探索 OpenStack.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

探索 OpenStack.docx

《探索 OpenStack.docx》由会员分享,可在线阅读,更多相关《探索 OpenStack.docx(11页珍藏版)》请在冰豆网上搜索。

探索 OpenStack.docx

探索OpenStack

探索OpenStack:

网络组件Neutron

本文将介绍OpenStackNetworking(Neutron)项目,解释它如何融入到整体架构中,并展示它的操作方式。

文中在介绍Neutron的过程中了解了如何安装、配置和使用Neutron的各个组件。

查看本系列更多内容 | PDF:

 (711KB) | 0

 评论:

本文将介绍OpenStackNetworking,它管理着其他OpenStack项目之间的连接性。

可以开发一个不包含任何特定于网络的功能的、可弹性扩展的工作负载管理系统。

当然,计算节点需要在彼此之间建立连接,并能访问外部世界,但它也可以利用现有的网络基础架构来分配IP地址和在节点之间传输数据。

在多租户环境中,这样一种方法的最大问题是,已有的网络管理系统无法高效、安全地在用户之间隔离流量—这同时也是构建公共和私有云的组织面临的一个巨大问题。

OpenStack解决此问题的一种方式是,构建一个详尽的网络管理堆栈,用它来处理所有网络相关请求。

此方法面临的挑战是,每个实现都可能拥有一组独特的需求,包括与其他各种各样的工具和软件的集成。

OpenStack因此采取了创建抽象层的方法,这个抽象层被称为OpenStackNetworking,可容纳大量处理与其他网络服务的集成的插件。

它为云租户提供了一个应用编程接口(API),租户可使用它配置灵活的策略和构建复杂的网络拓扑结构—例如用它来支持多级Web应用程序。

OpenStackNetworking支持使用第三方编写插件来引入高级网络功能,比如L2-in-L3隧道和端到端服务质量支持。

它们还可以创建网络服务,比如负载平衡、虚拟专用网或插入OpenStack租户网络中的防火墙。

在过去,OpenStack的网络组件位于OpenStackNova(Compute)项目中。

其中大部分组件被拆分为一个包含Folsom版的单独项目。

这个新项目最初称为Quantum,但后来重命名为Neutron,以避免与公司QuantumCorporation的任何商标混淆。

所以,如果看到OpenStackNetworking参考资料中同时出现了名称Nova、Quantum和Neutron,不要感到奇怪。

模型

OpenStackNetworkingAPI基于一个简单的模型(包含虚拟网络、子网和端口抽象)来描述网络资源。

网络是一个隔离的2层网段,类似于物理网络世界中的虚拟LAN(VLAN)。

更具体来讲,它是为创建它的租户而保留的一个广播域,或者被显式配置为共享网段。

网络也是NeutronAPI的主要目标。

换句话说,端口和子网始终被分配给某个特定的网络。

子网是一组IPv4或IPv6地址以及与其有关联的配置。

它是一个地址池,OpenStack可从中向虚拟机(VM)分配IP地址。

每个子网指定为一个无类别域间路由(ClasslessInter-DomainRouting)范围,必须与一个网络相关联。

除了子网之外,租户还可以指定一个网关、一个域名系统(DNS)名称服务器列表,以及一组主机路由。

这个子网上的VM实例随后会自动继承该配置。

端口是一个虚拟交换机连接点。

一个VM实例可通过此端口将它的网络适配器附加到一个虚拟网络。

在创建之后,一个端口可从指定的子网收到一个固定IP地址。

API用户可从地址池请求一个特定的地址,或者Neutron可以分配一个可用的IP地址。

OpenStack还可以定义接口应使用的媒体访问控制地址。

在取消分配该端口后,所有已分配的IP地址都会被释放并返回到地址池。

回页首

插件

最初的OpenStackCompute网络实现采用了一种基本模型,通过Linux®VLAN和IP表执行所有隔离操作。

OpenStackNetworking引入了插件的概念,插件是OpenStackNetworkingAPI的一种后端实现。

插件可使用各种不同的技术来实现逻辑API请求。

一些OpenStackNetworking插件可能使用基本的LinuxVLAN和IP表。

这些插件对于小型和简单的网络通常已经足够,但更大型的客户可能拥有更复杂的需求,涉及到多级Web应用程序和多个私有网络之间的内部隔离。

它们可能需要自己的IP地址模式(这可能与其他租户使用的地址重复)—例如,用来允许应用程序在无需更改IP地址的情况下迁移到云中。

在这些情况下,可能需要采用更高级的技术,比如L2-in-L3隧道或OpenFlow。

插件架构使云管理员可以非常灵活地自定义网络的功能。

第三方可通过API扩展提供额外的API功能,这些功能最终会成为核心OpenStackNetworkingAPI的一部分。

NeutronAPI向用户和其他服务公开虚拟网络服务接口,但这些网络服务的实际实现位于一个插件中,插件向租户和地址管理等其他服务提供了隔离的虚拟网络。

任何人都应该能够通过Internet访问API网络,而且该网络实际上可能是外部网络的一个子网。

前面已经提到过,NeutronAPI公开了一个网络连接模型,其中包含网络、子网和端口,但它并不实际执行工作。

Neutron插件负责与底层基础架构交互,以便依据逻辑模型而传送流量。

现在已有大量包含不同功能和性能参数的插件,而且插件数量仍在增长。

目前包含以下插件:

∙OpenvSwitch

∙CiscoUCS/Nexus

∙LinuxBridge

∙NiciraNetworkVirtualizationPlatform

∙RyuOpenFlowController

∙NECOpenFlow

云管理员可自行选择插件,他们可评估各个选项并根据具体的安装需求而调整它们。

回页首

架构

neutron-server 是OpenStackNetworking服务器的主要流程。

它是一个Python后台进程,将用户请求从OpenStackNetworkingAPI中继到配置的插件。

OpenStackNetworking还包含3个代理,它们通过消息队列或标准OpenStackNetworkingAPI与主要Neutron进程交互:

∙neutron-dhcp-agent 向所有租户网络提供动态主机配置协议(DynamicHostConfigurationProtocol,DHCP)服务。

∙neutron-l3-agent 执行L3/网络地址转换(NetworkAddressTranslation)转发,以支持网络网络访问租户网络上的VM。

∙一个特定于插件的可选代理(neutron-*-agent)在每个虚拟机管理程序上执行本地虚拟交换机配置。

一定要知道OpenStackNetworking与其他OpenStack组件之间的交互方式。

与其他OpenStack项目一样,OpenStackDashboard(Horizon)提供了图形用户界面,以便管理员和租户用户能够访问功能—在这里,是访问用来创建和管理网络服务的功能。

这些服务也依照OpenStackIdentity(Keystone)对所有API请求执行身份验证和授权。

与OpenStackCompute(Nova)的集成更加特殊。

Nova启动了一个虚拟实例时,该服务会与OpenStackNetworking通信,将每个虚拟网络接口插入到一个特定的端口中。

回页首

设置

实际安装指令在发行版与OpenStack版本之间有很大区别。

一般而言,它们都包含在发行版中。

但是,必须完成同样的基本任务。

本节介绍了涉及到的一些信息。

系统要求

OpenStack依赖于一种64位x86架构;另外,它是为商用硬件而设计的,所以具有极低的系统要求。

它可以在配有包含8GBRAM的单个系统上运行整套OpenStack项目,但对于任何重大的工作,有必要拥有一个包含至少8GBRAM、两个2TB磁盘和两个Gbit网络适配器的专用计算节点。

常常会使用一个控制器主机来运行集中化的OpenStackCompute组件。

在这种情况下,OpenStackNetworking服务器可在同一个主机上运行,但同样可以将它部署在一个独立的服务器上。

安装

安装指令取决于发行版本,更具体来讲,取决于您选择的包管理实用程序。

在许多情况下,必须声明存储库。

所以,举例而言,如果您使用的是Zypper,那么您要用 zypperar 向 libzypp 公开:

点击查看代码清单

出于演示之目的,以下是Ubuntu、RedHat(RedHadEnterpriseLinux、CentOS、Fedora)和openSUSE的主要命令:

∙Ubuntu:

安装 neutron-server 和访问该API的客户端:

$sudoapt-getinstallneutron-serverpython-neutronclient

安装插件:

$sudoapt-getinstallneutron-plugin-

例如:

$sudoapt-getinstallneutron-plugin-openvswitch-agent

∙RedHat:

类似于Ubuntu,您必须同时安装Neutron服务器和插件—例如:

∙$sudoyuminstallopenstack-neutron

$sudoyuminstallopenstack-neutron-openvswitch

∙openSUSE:

使用以下命令:

∙$sudozypperinstallopenstack-neutron

$sudozypperinstallopenstack-neutron-openvswitch-agent

配置

大部分插件都需要一个数据库。

OpenStackNetworking的Fedora包包含服务器设置实用程序脚本,负责数据库的完整安装和配置:

$sudoneutron-server-setup--pluginopenvswitch

但也可以手动配置这些数据库。

例如,在Ubuntu上,您可使用以下命令安装数据库:

$sudoapt-getinstallmysql-serverpython-mysqldbpython-sqlalchemy

如果已经为其他OpenStack服务安装了一个数据库,那么您只需要创建一个Neutron数据库:

$mysql-u-p-e"createdatabaseneutron"

必须在插件的配置文件中指定该数据库。

为此,在/etc/neutron/plugins/plugin-name 中找到插件配置文件(例如/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini),然后设置连接字符串:

sql_connection=mysql:

//:

@localhost/neutron?

charset=utf8

回页首

使用场景

一个典型的OpenStackNetworking设置可能很复杂,包含多达4个不同的物理网络。

使用一个管理网络在OpenStack组件之间执行内部通信。

一个数据网络处理实例之间的数据通信。

API网络向租户公开了所有OpenStackAPI。

此外,通常需要一个外部网络来授予访问VM的Internet的权限。

在这些物理网络之上,可通过许多方式配置租户需要的虚拟网络。

最简单的场景是单个平面网络。

也可以有多个平面网络、每个租户的私有网络,并提供商和每租户路由器的组合来管理网络之间的流量。

为了了解如何在实际中使用OpenStackNetworking,我们来看一个简单的场景,其中一个租户创建了一个网络,定义了一个路由器来将从私有网络转发流量,分配该网络的一个子网,并启动一个要与该网络有关联的实例。

1.以具有Member角色的用户身份登录到OpenStackDashboard。

在导航窗格中的ManageNetwork下方,单击 Networks,然后单击 CreateNetwork。

图1.访问Networks窗口

点击查看大图

2.填入网络名称以及第一个子网。

图2.创建一个网络

提到子网,我指的是网络地址范围(例如10.2.0.0/16)和默认网关。

图3.创建子网

3.也可配置DHCP和DNS。

图4.子网细节

4.作为一个可选步骤,请单击ManageNetwork下方的 Routers,然后单击 CreateRouter 来创建一个路由器。

然后可连接到路由器的接口来定义流量应如何流动。

图5.路由器细节

5.IP地址端口分配在启动一个镜像时执行。

Nova联系Neutron来创建一个端口(在子网上)。

每个虚拟实例自动接收一个私有IP地址。

您可以使用OpenStack的浮动IP地址概念像实例分配公共IP地址,此操作是可选的。

图6.管理浮动IP关联

6.项目从池中请求一个浮动IP地址之后,它就拥有该地址,您可以自由地解除与该实例的关联,并将它附加到另一个实例。

图7.访问和安全

回页首

结束语

希望这篇简短的介绍能让您大致了解OpenStack提供的针对网络的选项。

请记住,OpenStack实际上并未提供许多网络功能:

举例而言,路由、交换和名称解析是由底层的网络基础架构处理的。

OpenStack的作用是将这些组件的管理捆绑在一起,并将它们连接到计算工作负载。

OpenStack为它的大多数项目都使用了这种方法,包括存储(将在本系列的 下一篇文章 中介绍)。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1