浅入openstack

  • 一.了解云计算
  • 二.云计算服务模型
  • 1.laaS(基础架构即服务)
  • 2.PaaS (平台即服务)
  • 3.SaaS (软件即服务)
  • 三.openstack概述
  • 1.openstack简介
  • 2.openstack核心组件,8大服务
  • 3 openstack 的优势
  • (1)控制性
  • (2)兼容性
  • (3)可扩展性
  • (4)灵活性
  • (5)行业标准
  • 四.openstack架构
  • 1.openstack设计的基本原则
  • 2.openstack的概念架构
  • 3.openstack的逻辑架构
  • 4.openstack组件通信关系
  • (1)基于AMQP协议的通信
  • (2)基于SQL的通信
  • (3)基于HTTP协议进行通信
  • 5.openstack物理架构
  • (1)控制节点
  • (2)计算节点
  • (3)存储节点
  • (4)网络节点


一.了解云计算

狭义的云计算:指 IT 基础设施的交付和使用模式

广义的云计算:指服务的交付和使用模式

用户通过网络使用云的资源池(根据自己的需求),使用租赁的形式,按量计费和弹性伸缩模式,能快速获取资源并进行使用,管理体量小,只需要和提供商进行少量的交互即可

二.云计算服务模型

1.laaS(基础架构即服务)

提供底层IT基础设施服务,包括处理能力、存储空间、网络资源(比如迅雷)等
面向对象一般是IT管理人员

2.PaaS (平台即服务)

把安装好开发环境的系统平台作为一-种服务通过互联网提供给用户
面向对象一般是开发人员

3.SaaS (软件即服务)

直接通过互联网为用户提供软件和应用程序等服务
面向对象一般是普通用户
比如LNMP架构,打包成SaaS服务,用户若是购买这个服务即拥有LNMP架构

三.openstack概述

1.openstack简介

(1)NASA (美国国家航空航天局)和 Rackspace(是一家全球领先的托管服务器及云计算提供商)共同发起

(2) 以 Apache 许可证(Apache 软件基金会发布的一个自由软件许可证)授权的自由软件和开放源代码项目,不只是一个软件,这个项目由几个主要的组件组合起来完成一些具体的工作

(3)为公有云及私有云的建设与管理提供可扩展的弹性的云计算服务(开源项目)

(4)覆盖了网络、虚拟化、操作系统、服务器等各个方面

2.openstack核心组件,8大服务

项目名称即核心服务,都是为实例服务的;实例就是虚拟机

项目与项目直接相互隔离的,借助于API对接的方式相互关联

openstack 多节点部署 openstack单节点和多节点的区别_API

3 openstack 的优势

(1)控制性

完全开源的平台,开源的平台意味着不会被某个特定的厂商绑定和限制
提供 API 接口,模块化的设计能把遗留的和第三方的技术进行集成,从而来满足自身业务需要

(2)兼容性

OpenStack 兼容其他公有云,方便用户(企业)很容易的将数据和应用迁移

(3)可扩展性

模块化设计,可以通过横向扩展来增加节点、添加资源

(4)灵活性

用户可以根据自己的需要建立基础设施,也可以轻松地为自己的集群增加规模

(5)行业标准

众多行业领军企业已经加入到OpenStack项目

四.openstack架构

1.openstack设计的基本原则

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

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

2.openstack的概念架构

云平台用户在经过Keystone服务认证授权后,通过Horizon或者Reset API模式创建虚拟机服务,创建过程中包括利用Nova服务创建虚拟机实例,虚拟机实例采用Glance提供镜像服务,然后使用Neutron为新建的虚拟机分配IP地址,并将其纳入虚拟网络中,之后在通过Cinder创建的卷为虚拟机挂载存储块,整个过程都在Ceilometer模块资源的监控下,Cinder产生的卷(Volume)和Glance提供的镜像(Image)可以通过Swift的对象存储机制进行保存。

openstack 多节点部署 openstack单节点和多节点的区别_openstack_02


起点:用户登录OpenStack

需求:创建实例
云平台用户在经过Keystone服务认证授权后—>通过Horizon或者Reset API模式创建虚拟机服务

创建过程中:
利用Nova服务创建虚拟机实例—>虛拟机实例采用Glance提供镜像服务—>使用Neutron为新建的虚拟机分配IP地址,并将其纳入虚拟网络中—>通过Cinder创建的卷为虚拟机挂载存储块,整个过程都在Ceilometer模块资源的监控下,Cinder产生的卷(Volume) 和Glance提供的镜像(Image) 可以通过
Swift的对象存储机制进行保存。

主要组件
全局:Keyston(全局认证)、Ceilometer(监控、计费)、Horizon(控制台)
核心:Nove(计算)、Glance(镜像)、Neutron(网络)、Swift(块存储)、Cinder(对象存储)
支持/辅助:Ironic(裸金属)、Trove(数据库管理)、Hent(数据编排)

3.openstack的逻辑架构

OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。

每个OpenStack服务又由若干组件组成。包含多个进程。所有服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,并将它们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成的

至于一个服务的进程之间通信,则使用AMQP消息代理。服务的状态存储在数据库中。

openstack 多节点部署 openstack单节点和多节点的区别_云计算_03

(1)逻辑架构图介绍了OpenStack核心的八个组件、全局、支持;所有服务均可通过一个公共身份服务进行身份验证
(2)设计的三个部分组件如何对接:通过一个公共的API进行交互
(3)单个核心项目内部,分为多个子功能模块,子功能模块直接使用AMQP消息代理进行交互的

4.openstack组件通信关系

(1)基于AMQP协议的通信

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

(2)基于SQL的通信

用于各个项目内部的通信。
openstack核心组件/服务 很多都是由python开发的

(3)基于HTTP协议进行通信

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

5.openstack物理架构

openstack 多节点部署 openstack单节点和多节点的区别_openstack 多节点部署_04

(1)控制节点

基础服务:全局模块和主要的组件
扩展服务:块、对象数据库的管理和编排
网络接口:负责与别的节点进行通信:比如:ens33、eth0

(2)计算节点

基础服务
Nova Hypervisor:指挥调度中心,指挥compute,实例一般创建在计算节点
网络插件代理:访问外部网络需要nova通过对应的代理插件操作
扩展服务:负责收集计算节点的数据发送给主节点;计费代理

(3)存储节点

块、对象存储:对应不同的网络接口连接到其他网络

(4)网络节点

内部的通讯,及具有实例通讯的规则
提供者网络:为内部网络提供插件、代理以及功能模块支持;包含ML2插件(即L2交换机)
自服务网络:用于连接外部;包含三层代理L3 Agent(即三层交换机)