前言:

学习Openstack的部署和运维之前,应当熟悉其架构和运行机制,OpenStack 作为开源、可扩展、富有弹性的云操作系统,其设计基本原则如下:

  • 按照不同的功能和通用性划分不同项目,拆分子系统
  • 按照逻辑计划、规范子系统之间的通信
  • 通过分层设计整个系统架构
  • 不同的功能子系统间提供统一的 API 接口

一、OpneStack 概念架构

在这里插入图片描述

全局组件
身份认证服务(Keystone)、计量服务(Ceilometer)与控制面板服务(Horizon)

核心组件
OpenStack 中创建虚拟机需要网络服务(Neutron)、镜像服务(Glance)、对象存储服务(Swift)与块存储服务(Cinder),而这些资源服务由计算服务(Nova)统一的申请调用,提供给虚拟机做资源支持。

外部组件
Sahara与Heat是大数据相关的组件,进行大数据收集、大数据分析与编排的;
Ironic是裸金属服务;
Trove是数据库管理的服务(包含关系与非关系型数据库)。

二、OpenStack 逻辑架构

在这里插入图片描述
1、OpenStack 逻辑架构介绍了OpenStack原生架构的组件(全局组件、核心组件和外部组件)
2、组件之间通过API(前提是将请求交于keystone进行身份验证,是否有权限进行通讯)进行点到点的通讯
3、单个项目内部有很多子功能模块,他们通过AMQP消息代理(RabbitMQ)进行交互,服务的状态存储在数据库中

三、OpenStack组件通信关系

1、基于AMQP协议的通信

  • 用于每个项目内部各个组件之间的通信。

2、基于SQL的通信

  • 用于各个项目内部的通信。

3、基于HTTP协议进行通信

  • 通过各项目的API建立的通信关系,API都是RESTful Web API。

4、通过Native API实现通信

  • OpenStack各组件和第三方软硬件之间的通信。

四、OpenStack 物理架构

在这里插入图片描述
控制节点:管理openstack架构

网络节点:负责各节点之间的通信/交互,通常需要3个网络端口,分别用于控制节点进行通信、与除控制节点之外的计算和存储节点之间的通信、外部的虚拟机与相应网络之间的通信。

计算节点:主要负责承载实例,负责具体需求的处理

存储节点:提供存储服务

Logo

开源、云原生的融合云平台

更多推荐