OpenStack—OpenStack架构
Posted 水木,年華
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack—OpenStack架构相关的知识,希望对你有一定的参考价值。
一.OpenStack设计基本原则
Openstack的部署和运维之前,应当熟悉其架构和运行机制,OpenStack作为开源、可扩展、富有弹性(资源弹性,抗压能力的弹性)的云操作系统,其设计基本原则如下:
按照不同的功能和通用性划分不同项目,拆分子系统
按照逻辑计划、规范子系统之间的通信
通过分层设计整个系统架构
以不同维度/分层介绍openstack
1、以宏观/全局维度
openstack包含了8个核心组件分别是:
2、以服务、项目角度来看
以nova为例
里面包含了api、scheduler.controller、computer、db同时子功能系统之间使用
消息代理(rabbitmq)进行通讯
不同的功能子系统间提供统一的API接口
二.OpenSTack概念架构
云平台用户在经过Keystone服务认证授权后,通过Horizon或者Reset API模式创建虚拟机服务,创建过程中包括利用Nova服务创建虚拟机实例,虚拟机实例采用Glance提供镜像服务,然后使用Neutron为新建的虚拟机分配IP地址,并将其纳入虚拟网络中,之后在通过Cinder创建的卷为虚拟机挂载存储块,整个过程都在Ceilometer模块资源的监控下,Cinder产生的卷(Volume)和Glance提供的镜像(Image)可以通过Swift的对象存储机制进行保存。
三.OpenStack逻辑架构
OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。
每个OpenStack服务又由若干组件组成。包含多个进程。所有服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,并将它们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成的
至于一个服务的进程之间通信,则使用AMQP消息代理。服务的状态存储在数据库中。
逻辑架构图分为几个层次
1、逻辑架构图介绍了OpenStack核心组件有哪些
包括上—张图的全组、核心、支持
2、以上涉及的三部分组件如何对接(通过
—个公共的API进行交互)
3、单个项目内部包含了多个子功能模块,子功能模块之间通过AMQP消息代理进行数据交互
四.OpenStack组件通信关系
①基于AMQP协议的通信
用于每个项目内部各个组件之间的通信。
②基于SQL的通信
用于各个项目内部的通信。
openstack核心组件/服务 很多都是由python开发的
③基于HTTP协议进行通信
通过各项目的API建立的通信关系,API都是RESTful Web APIl。
项目和项目之间的通讯比如novA和keystone之间的通讯http,而http在openstack是借助apache来实现的
项目之间点到点的通讯是借助不同项目暴露出来的公共api接口进行的通讯的过程:借助了AMQP进行通讯
restful :通讯协议的一种规范
Web:URL形式域名(URL)
http://www.my.com/index.html
④通过Native API实现通信
OpenStack各组件和第三方软硬件之间的通信。
nova想和外部的实例交互管理
外部存储ceph etcd gfs nfs
四.OpenStack物理架构
网络节点(Network Node)
提供者网络(Provider networks)
自服务网络(Self-service networks)
提供者网络为内部网络提供插件、代理以及功能模块支持
自服务网络用于连接外部
自服务网络用于连接外部
元数据文件
①数据本身数据属性信息元数据信息
②数据属性信息,一般叫元数据信息
ML2中L表示交换机
以上是关于OpenStack—OpenStack架构的主要内容,如果未能解决你的问题,请参考以下文章