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表示交换机
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值