OpenStack

  • OpenStack组件
  • OpenStack示例架构
  • 网络化
  • OpenStack网络示意图
  • 环境准备
  • 对应组件、用户、数据库的密码


OpenStack组件

OpenStack各组件间的联系图:

openstack架构设计原则 简述openstack架构的工作流程_虚拟网络


OpenStack逻辑架构图:

openstack架构设计原则 简述openstack架构的工作流程_openstack架构设计原则_02

OpenStack由几个独立的部分组成,称为OpenStack服务。所有服务通过一个公共身份服务(Keystone)进行身份验证。单独的服务通过公共API相互作用,除了管理员需要享有特权。

在内部,OpenStack服务由几个进程组成。每个服务都至少含一个API过程,它负责监听API请求,对它们进行预处理,并将它们传递到服务的其他部分。除了身份服务之外,实际的工作是由不同的过程完成的。

为了在一个服务的流程之间进行通信,使用AMQP消息代理。服务的状态存储在数据库中。当部署和配置OpenStack时,你可以在几个消息代理和数据库解决方案中进行选择,如RabbitMQ、MySQL、MariaDB和SQLite。

用户可以通过由地平线指示板实现的基于web的用户界面,通过命令行客户端和通过浏览器插件或curl等工具发布API请求来访问OpenStack。对于应用程序,有一部分sdk可用。最终,所有这些访问方法都向各种OpenStack服务发出REST API调用。

OpenStack示例架构

至少需要两个节点,也就是Controller节点与Compute节点,Block Storage和Object Storage则需要新添节点。
示例架构体系与最小生产体系架构不同:
(1)网络代理驻留在控制器节点上,而不是一个或多个专用网络节点。(不需要网络节点)
(2)自服务网络的覆盖(隧道)流量通过管理网络而不是专用网络。(使用内部网络)

openstack架构设计原则 简述openstack架构的工作流程_网络接口_03


这是官网基础搭建的硬件要求,不过一般用于搭建学习不需要这么高的配置

Controller
Controller节点运行身份服务、图像服务、计算的管理部分、网络的管理部分、各种网络代理和仪表板。它还包括支持性服务,如SQL数据库、消息队列和NTP。
控制器节点也可以选择添加运行区块存储、对象存储、编配和遥测服务的一部分。
控制器节点需要至少两个网络接口。

Compute
Compute节点运行 运行实例的计算管理程序部分。默认情况下,Compute使用KVM管理程序。Compute节点也运行一个网络服务代理,它将实例连接到虚拟网络,并通过安全组为实例提供防火墙服务。
同时可以部署多个计算节点。每个节点都需要至少两个网络接口。
Block Storage(可选)
块存储节点包含用于实例的块存储和共享文件系统服务供应的磁盘。
为了简单起见,计算节点和这个节点之间的服务流量使用管理网络(内网)。生产环境应该实现一个单独的存储网络,以提高性能和安全性。
您可以部署多个区块存储节点。每个节点都需要至少一个网络接口。
Object Storage(可选)
对象存储节点包含对象存储服务用来存储账户、容器和对象的磁盘。
为了简单起见,计算节点和这个节点之间的服务流量使用管理网络(内网)。生产环境应该实现一个单独的存储网络,以提高性能和安全性。
该服务需要两个节点。每个节点都需要至少一个网络接口。你可以部署两个以上的对象存储节点。

网络化

网络选项1:Provider networks

Provider networks以最简单的方式部署OpenStack网络服务,主要使用第二层(桥接/交换)服务和网络的VLAN分割。从本质上讲,它将虚拟网络与物理网络连接起来,并依赖于物理网络基础设施来实现第3层(路由)服务。此外,DHCP服务为实例提供IP地址信息。

OpenStack用户需要更多关于底层网络基础设施的知识,以创建一个虚拟网络来精确匹配基础设施。

注意:Provider networks缺少对自助服务(私有)网络、layer-3(路由)服务和LBaaS和FWaaS等高级服务的支持。如果您想要这些特性,请考虑下面的自助服务网络选项。

openstack架构设计原则 简述openstack架构的工作流程_openstack架构设计原则_04


网络选项2:Self-service networks

Self-service networks增强了提供者网络选项,其中包含了layer-3(路由)服务,这些服务可以使用诸如VXLAN等重叠分割方法来启用自助服务网络。从本质上讲,它将虚拟网络路由到使用NAT的物理网络,另外,该选项为LBaaS和FWaaS等高级服务提供了基础。

OpenStack用户可以在不了解数据网络基础设施的情况下创建虚拟网络。如果配置了layer-2插件,那么也可以包括VLAN网络。

openstack架构设计原则 简述openstack架构的工作流程_虚拟网络_05

OpenStack网络示意图

openstack架构设计原则 简述openstack架构的工作流程_网络接口_06


搭建时假设使用以下网络:

10.0.0/24与网关10.0.0.1的管理(相当于我们使用的内网,内网的安全性更高)

这个网络需要一个网关来为所有的节点提供因特网访问,以实现管理目的,例如包安装、安全更新、DNS和NTP。

203.0.113.0/24,网关203.0.113.1(相当于我们使用的外网)

这个网络需要一个网关来为OpenStack环境中的实例提供互联网访问。

:在使用远程连接时最好选择内网IP地址,因为当外网断网时,远程连接也会中断。

环境准备

最低配置
控制器节点:1处理器、4 GB内存和50 GB存储空间
计算节点:1处理器、2 GB内存和50 GB存储空间
Linux应选择最小化安装
安装学习或测试时,可以选择vm搭建OpenStack。
(1)一个物理服务器可以支持多个节点,每个节点都有几乎任意数量的网络接口。
(2)能够在整个安装过程中定期进行“快照”,并在出现问题时“回滚”到工作配置。
(3)但是,VMs会降低实例的性能,特别是如果您的虚拟机监控程序和/或处理器缺乏对嵌套vm的硬件加速的支持。

对应组件、用户、数据库的密码

openstack架构设计原则 简述openstack架构的工作流程_网络接口_07