• 简述openstack


    大家好,我顾某人又回来了,开学第一更。。。。
    以下内容均为个人理解和整理,有不对的地方还望dalao指正。。。。。
    本文所用图片均已标明来源。

    openstack是什么?
    OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

    openstack组成
    openstack由以下七个主要部分组成:

    • Nova:计算服务
    • Neutron:网络管理服务
    • Keystone:认证服务
    • Swift:对象存储服务
    • Cinder:块存储服务
    • Glance:镜像管理服务
    • Horizon:操作界面

    openstack整体架构
    图源网络

    openstack组成详解

    Nova

    Nova提供CPU、内存、网络适配器和硬件驱动器等服务器资源虚拟化的功能,提高了资源的利用率。
    通过Nova api来接受和响应用户的请求,实时对VM进行启动、挂起、停止等功能。
    Nova主要包含的组件有:

    • Nova-api
      响应用户的请求
    • Nova-scheduler
      负责VM的调度,决定了VM运行在哪台主机上。
    • Nova-compute
      管理VM实例的生命周期
    • Nova-conductor
      计算服务与数据库的交互中介,避免直接访问数据库
    • Nova-console
      提供访问VM的控制台
    • Nova-consoleauth
      负责对VM控制台的请求提供Token认证
    • Nova-cert
      提供证书
    • Hypervisor
      虚拟化管理程序,用于实现硬件的虚拟化
    • database
      用于存放一些Nova的数据
    • message queue
      用于Nova子服务之间的相互协调和通信

    Neutron

    Neutron架构,图源CloudMan

    Neutron通过pluginagent提供的网络服务。
    调用网络的API分为以下两种:

    • Core API
      对外提供networksubnetport的API
    • Resource and Attribute Extension API
      对外提供管理routerload balancefirewall等资源的API。

    Neutron的plugin分为Neutron Core PluginsNeutron Service Plugins

    • Neutron Core Plugins
      Neutron的核心插件,实现Core API在数据库中维护networksubnetport的状态,并负责调用相应的agentnetwork provider上执行相关操作.
    • Neutron Service Plugins
      Neutron的扩展插件,实现Extension Plugin API,在数据库中维护routerload balancesecurity group等资源的状态,并负责调用相应的agentnetwork provider上执行相关操作.

    Message Queue:消息队列
    用于PluginsAgent相互之间的调用.

    Keystone

    keystone为openstack组件提供认证服务和管理用户及其权限。
    keystone中有几个重要的概念要了解一下:User(用户)、Role(角色)、Tenant(租户)、Service(服务)。

    • User 用户,keystone的授权用户
    • Role 角色,表示用户可以访问资源的权限
    • Tenant 租户,各个服务中可以访问的资源合集
    • Service 服务,租户可以提供的服务

    keystone的运作流程大概是这样的:当User想要去访问某个Service时,首先他要向keystone出示它的Credentials,Keystone认证之后会给User一个Token,然后User就可以使用这个Token去访问Service,这时这个Service就会向keystone去验证User的Token,如果验证成功,那么User就成功访问到Service中的Endpoint,且User的Role越高,访问到的Service越多。
    通俗的来讲是这样的:

    User 住酒店的人
    Tenant 酒店
    Credentials 酒店房间钥匙
    Authentication 房客认证机制
    Token 发给能打开房间的人的凭证,用于享受酒店的服务
    Service 酒店提供的一种服务
    Endpoint 酒店提供服务中的具体服务
    Role 酒店会员等级

    Swift

    Swift为OpenStack提供一种分布式、持续虚拟对象存储,主要用于存储大的对象文件,比如虚拟机的备份。

    Cinder

    openstack的一种块存储方式,挂载给虚拟机使用,可以给虚拟机提供额外的空间。
    swift和cinder的比较
    swift类似于保存PC的系统,而cinder类似于保存PC里面的文件。

    Glance

    openstack中用于保存创建VM的镜像,比如,现在现在需要安装一个win7的操作系统给公司的某个员工使用,按照传统的操作方式需要花费大量时间,但是现在在云环境中,只需要直接从glance中按模板启动win7即可,二七人只许耗费几秒钟的时间
    glance包括glance-apiglance-registrystore backend.

    • glance-api
      对外提供API,用于响应image的查询、获取等调用。
    • glance-registry
      用于处理和存取image的的元数据,例如大小、类型等,并且戴护具对应到Database
    • store backend
      用于存放image

    Horizon

    简单的来说,Horizon是一个web接口,用于将openstack的资源聚集到一起并进行图形化管理。

    最后骗一波流量个人博客

  • 相关阅读:
    搭建 Linux 下 GitLab 服务器(转)
    sql语法:inner join on, left join on, right join on具体用法
    Android Studio之同一应用创建多个Activity(一)
    java环境变量配置
    老鸟的Python新手教程
    域名注冊以及域名解析设置
    Android在WebView上构建Web应用程序
    利用JasperReport+iReport进行Web报表开发
    android App Widgets
    多数据库下activiti的流程定义缓存问题
  • 原文地址:https://www.cnblogs.com/Timesi/p/9588352.html
Copyright © 2020-2023  润新知