Openstack_基础笔记

一.云计算

1.概述

云计算管理的是网络资源、存储资源、服务器资源等物理硬件资源。
可以使客户在任何时间任何地点,通过网络,获取所需要的资源或服务,并且按需分配,按用量进行收费。
  • 狭义的云计算:指IT基础设施的交付和使用模式

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

  • 云计算概述:it基础设施和交付和使用模式
    定义了资源池,用户借助于网络,调用资源池
    用户通过网络使用云资源池(根据自己的需求)
    租赁形式
    按量计费
    弹性伸缩

2.云计算服务模型

1)laas(基础架构)

  • IT基础设施服务(处理能力、存储空间、网络资源)
    • 存储空间:对象存储,静态资源 图片、视频、音频,不能直接修改数据
      • 需要下载到本地/设备/终端,才可以修改,再上传
        - (一般是IT人员)

2)PaaS(平台服务)

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

3)saas(软件即服务)

  • 直接通过互联网为空户提供软件和应用程序服务
    • (一般普通用户)

二.Openstack

1.概述
 OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。
  • 其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。

2.分类

  • 公有云:对面客户
  • 私有云:内部的
  • 混合云:公私都有

3.Openstack服务

服务项目名称描述
compute(计算服务)Nova实列生命周期管理,对hypervisor进行屏蔽,支持多种虚拟化技术,支持横向扩展
Network(网络服务)Neutron复制网络管理,为实例创建网络的拓扑结构,可自己定义网络,各租户之间不影响
ldentity(身份认证服务)keystone类似LDAP服务,对用户,租户进行认证和授权
Dashboard(控制面板服务)Horizon提供web管理界面,与openstack底层服务进行交互
lmage server(镜像服务)glance管理镜像提供的注册和管理,将做好的操作系统拷贝为镜像模板
block storage(块存储服务)cinder提供持久的块存储设备,可进行方便扩展,按需付费,支持多种后端存储
object storage(对象存储服务)swift为openstack提供基于云的弹性存储,支持集群无单点故障
telemetry (计量服务)ceilometer度量,监控控制数据资源的集中来源,为openstack为用户提供记账途径

4.Openstack优势

控制性:完全控制平台,提供API接口,方便第三方技术集成

兼容性:兼容其他共有云,方便用户进行数据迁移

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

灵活性:根据自己的需要,建立相应的基础设施,增加集群规模

行业标准:众多IT领军企业已经加入到openstack项目

5.Openstack概念架构

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
Nova

Nova是整个Openstack里面最核心的组件。当初Rackspace和NASA贡献代码时,NASA贡献的那部分就是Nova最早的代码(Rackspace贡献的代码是Swift)。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,它负责管理整个云的计算资源、网络、授权及测度。

Keystone 

Keystone为所有的OpenStack组件提供认证和访问策略服务,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。

Horizon 

Horizon是一个用以管理、控制OpenStack服务的Web控制面板。用户可以通过这个界面对OpenStack状态进行查看和管理。

3个全局组件:

  • keystone提供认证
  • ceilometer监控
  • horizon控制台,用户登录使用,控制组件和作用

2.核心组件:

 都是直接为虚拟机提供支持
创建虚拟机,需要网络镜像、两个存储、分别调用资源,统一给虚拟机,让虚拟机可创建
  • nova:调用glance功能,给虚拟机,接受来自于命令行,控制台,其他平台的需求
  • 控制台:提供需求,nova:完成需求
3.其他组件:
  • lronic裸金属服务,trove:小型数据库 heat,sahara:共同对数据处理和编排,分析

1)设计基本原则

  • 按照不同的功能和通用性划分不同的项目,拆分子系统

  • 按照逻辑计划,规范子系统之间的通信

  • 通过分层设计整个系统架构
    1.全局组件
    2.核心组件
    3.其他支持组件

  • 不同的功能子系统间提供统一的API接口

6.Openstack逻辑架构

在这里插入图片描述

  • 全局架构来看:OpenStack包括相互独立的服务组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。所以,API即是每个服务内部和外部的交界处,隔离了内外。
  • 服务之间交互过程:每个服务又由若干组件组成,包含多个进程。每个服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,(预处理就是将请求暴露出来的API接口,给keystone进行认证,如果认证通过,则放入队列等待被处理。)
    然后将它们传送到自己服务后端的其他组件,对请求进行处理,而不是API进程去处理。也就是说除了认证服务,实际工作都是由具体的进程完成的。
  • 服务内各个进程之间的通信:使用AMQP消息代理。服务的状态存储在数据库中。

消息队列:常用的三种类型,包括rabbitmq、 rocketmq、kafka,是两个独立的服务之间,消息传递的载体,解决消息在传输是请求的高并发问题,会以容器的方式,存储消息列表(包括请求、交互、报文),划分重要等级放入队列中,逐个处理,处理完的会自动删除。

图解:
  • 介绍了openstack原生架构的组件
    什么组件,组件功能-------点对点对接,通过api接口
  • 单个组件怎么对外提供服务
  • 单个组件进程之间的通信------服务状态存储再数据库中

归纳:

1.按分层介绍原生架构中的组件
2.组件之间对接(点到点)是使用API
3.单个组件内部,根据设计原则,分为多个子系统,子系统之间交互,通过AMQP(消息队列)进行的

7.Openstack物理架构

在这里插入图片描述
图解:
根据职能分类
控制节点:管理openstack架构
网络节点:复制各节点之间的通信/交互
计算节点:主要负责承载实例,次要负责具体需求的处理
存储节点:提供存储服务

三.OpenStack架构解析

四大节点:

 整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)其中:
控制节点
  • 定位:运维人员通过控制节点从而控制整个openstack架构。

在这里插入图片描述控制节点包括支持服务,基础服务,扩展服务和网络接口服务,外部的裸金属服务提供物理资源支撑。

  • 支持服务:包括数据库支持和通信支持,为整个节点提供数据存储服务和服务之间消息队列的通信服务。
  • 基础服务:为虚拟机提供基础的镜像、网络、计算资源;keystone负责整个架构的认证和授权,运维人员通过horizon可视化的界面进行管理。
  • 扩展服务:主要针对虚拟机的数据管理,heat进行数据的编排和管理。计量服务在此获取虚拟机的数据源,进行资源监控和计量,并记录。
  • 网络接口:专门管理节点的网络服务,用于联系控制其他节点。

基础管理服务

Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库
Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信
Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供了Neutron在Horizon的管理面板
Horizon:控制台服务,提供了以web的形式,对所有节点的所有服务管理,,通常把该为DashBoard
扩展管理服务
Cinder:提供管理块存储节点服务,同时提供Cinder在Horizon中的管理面板
Swift:提供管理对象存储节点服务,同时提供Swift在Horizon中的管理面板
Trove:提供管理数据库的节点服务,同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性
Centimeter:提供对物理资源以及虚拟资源的监控,并且记录这些数据,对该数据进行分析,在一定的条件下,触发相应的动作
计算节点架构
计算节点包括Nova、Neutron、Telemeter三个服务

基础服务

Nova:提供虚拟机的创建、运行、迁移、快照等各种围绕虚拟机的服务,并且提供API与控制节点对接,有控制节点下发任务
Neotron:提供计算节点与网络节点之间的通信服务

扩展服务

Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务

四.核心服务

1)Keystone概念

Keystone (OpenStack Identity Service)是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证、令牌管理、提供访问资源的服务目录、以及基于用户角色的访问控制。

Keystone类似一个服务总线,或者说是整 个Openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint (服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身份验证,来获得目标服务的Endpoint来找到目标服务。

2) 功能

身份认证:负责令牌的发放和校验
用户授权:授权用户有指定的可执行动作的范围
用户管理:管理用户的账户
服务目录:提供可用服务的API端点位置

3)Keystone工作流程

在这里插入图片描述
在这里插入图片描述

  • 用户通过命令行或者horizon控制面板的方式登录openstack,凭借自己的证书(credentials)给keystone验证。
  • Keystone对用户的证书验证,验证通过则会发布一个令牌(token)和用户所需服务的位置点(endpoint)给用户。
  • 用户得到了位置点(endpoint)之后,携带自己的令牌,向nova发起请求,请求创建虚拟机。
  • nova会拿着用户的token向keystone进行认证,看是否允许用户执行这样的操作。
  • keystone认证通过之后,返回给nova,nova即开始执行创建虚拟机的请求。首先需要镜像资源,nova带着令牌(token)和所需要的镜像名向glance提出镜像资源的请求。
  • glance会拿着token去向keystone进行认证,看是否允许提供镜像服务。keystone认证成功后,返回给glance。glance向nova提供镜像服务。
  • 创建虚拟机还需要网络服务,nova携带token向neutron发送网络服务的请求
  • neutron拿着nova给的token向keystone进行认证,看是否允许向其提供网络服务
  • keystone认证成功后,返回给nuetron。nuetron则给nova提供网络规划服务。
  • nova获取了镜像和网络之后,开始创建虚拟机,通过hypervisior可调用底层硬件资源进行创建。创建完成返回给用户,成功执行了用户的请求。

总结:

openstack:私有云
开源,堆叠架构
核心:实例

在这里插入图片描述
Horizon(Dashboard):为用户提供了一个图形化的WEB前端的控制台,用于管理openstack的资源和服务,使其相对直观化;
nova:通过虚拟化提供计算资源池;
neutron:实现虚拟机网络资源管理;
keystone:身份认证管理;
swift:对象存储;
cinder: 块存储;
glance:镜像;
ceilometer:采集,计量;
heat:自动化部署;
Trove:数据库

OpenStack组件通信关系:
基于AMQP协议的通信

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

基于SQL的通信

用于各个项目内部的数据库通信。

基于HTTP协议进行通信

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

通过Native API实现通信

 OpenStack各组件和第三方软硬件之间的通信。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值