OpenStack -----基础理论篇

文章目录

    • 前言:
    • 一、云计算服务类型
      • IaaS(基础架构即服务)
      • PaaS(平台即服务)
      • SaaS(软件即服务)
    • OpenStack 介绍
      • OpenStack概述
      • opestack 特性
      • OpenStack核心项目
      • OpenStack架构

前言:

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。

OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台

一、云计算服务类型

IaaS(基础架构即服务)

用户能从中申请到硬件或虚拟硬件,包括裸机或虚拟机,然后在上边安装操作系统或其他应用程序
OpenStack就是一种IaaS

应用:
提供底层IT基础设施服务,包括处理能力,存储空间、网络资源
一般面对对象是IT管理人员

PaaS(平台即服务)

用户能从中申请到一个安装了操作系统以及支撑应用程序运行所需要的运行库等软件的物理机或虚拟机,然后在上边安装其他应用程序,但不能修改已经预装好的操作系统和运行环境

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

SaaS(软件即服务)

用户可以通过网络以租赁的方式来使用一些软件,而不是购买,比较常见的模式是提供一组账号密码

应用:
直接通过互联网为用户提供软件和应用程序的服务
一般面向对象是普通用户

OpenStack 介绍

OpenStack概述

  • 一款云计算模型中的一个项目
  • NASA和Rackspace合作研发并发起
  • 以Apache许可证授权的自由软件和开放式源代码项目
  • 旨在为公共及私有云的建设与管理提供软件的开源项目
  • 覆盖了网络、虚拟化、操作系统、服务器等各个方面

opestack 特性

  • 快速:OpenStack安装部署所需的时间少。
  • 灵活:OpenStack获得的各大厂商的支持,兼容性和适用性强,OpenStack兼容其他公有云,方便用户进行数据迁移。
  • 开源,OpenStack的使用成本相对低廉,还有源源不断的更新(频率为半年)
  • 可扩展性:OpenStack 采用模块化的设计,支持主流发行版本的linux系统,可以通过横向扩展,增加节点、添加资源。

OpenStack核心项目

服务 项目名称 描述
Compute(计算服务) Nova 负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展
Network(网络服务) Neutron 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响
ldentity(身份认证服务) Keystone 类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制
Dashboard(控制面板服务) Horizon 提供一个Web管理界面,与OpenStack底层服务进行交互
lmage Service(镜像服务) Glance 提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时直接使用,可支持多格式的镜像
Block Storage(块存储服务) Cinder 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储
Object Storage(对象存储服务) Swift 为OpenStack提供基于云的弹性存储,支持集群无单点故障
Telemetry(计量服务) Ceilometer 用于度量、监控和控制数据资源的集中来源,为OpenStack用户提供记账途径

OpenStack架构

OpenStack概念架构图

  • 按照不同的功能和通用性划分不同项目,拆分子系统
  • 按照逻辑计划、规范子系统之间的通信
  • 通过分层设计整个系统架构
  • 不同得功能子系统间提供统一的API接口
    OpenStack -----基础理论篇_第1张图片
    OpenStack逻辑架构
  • 首先展示了内部核心组件、外部组件、全局组件
  • 各核心、辅助组件之间是怎么对接得——API
  • 展示了各组件中,一部分核心的功能模块——MQ进行通讯
  • 展示openstack原生架构(基础)
    OpenStack -----基础理论篇_第2张图片
    OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。

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

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

openstack设计的基本原则如下:

按照不同的功能和通用性划分不同项目,拆分子系统
按照逻辑计划、规范子系统之间的通信
通过分层设计整个系统架构
不同的功能子系统间提供统一的API接口
一个镜像从上传可以使用得几个状态、过程

初始化过程——queued
导入数据库过程——saving
提交给服务识别过程(让服务可调用)——uploding
准使用(服务已识别、可调用)——importing
以上表明的是从上传到识别

以下标识是镜像上载完成后的状态类型

active——表示可使用
deactivated——表示只对管理员开放的权限
killed——表示镜像上传中发生错误
deletd——镜像将在不久后自动删除,镜像不可用(保留数据)
pending_delete——与deleted类似,但是删除后无法恢复
全局

openstack中由很多核心服务组成(相互独立)

keystone(全局授权、鉴权)

OpenStack组件通信关系

基于AMQP协议得通信
用于每个项目内部各个组件之间的通信

基于SQL得通信——在不同场景下运用不同的通信方式
用于各个项目内部得通信

基于HTTP协议进行通信

通过个项目得API建立的通信关系,API都是RESTful Web API——在控制台上将前端和后端通过restful api网关接口进行通讯

通过Native API实现通信

OpenStack各组件和第三方软硬件之间的通信——native api使原生架构与第三方组件进行通讯

,API都是RESTful Web API——在控制台上将前端和后端通过restful api网关接口进行通讯

通过Native API实现通信
OpenStack各组件和第三方软硬件之间的通信——native api使原生架构与第三方组件进行通讯

你可能感兴趣的:(centos7,虚拟机,openstack)