OpenStack核心组件

目录

  • OpenStack简介
      • OpenStack架构概念
      • OpenStack服务组件
      • OpenStack组件详解
      • OpenStack组件通信关系

OpenStack简介

OpenStack架构概念

OpenStack核心组件_第1张图片
全局组件

Keystone:为所有服务模块提供认证与授权
Ceilometer:度量、监控所有数据资源
Horizon:UI平台管理,提供一个Web管理页面,为底层交互

外部(辅助)组件

Ironic:提供裸金属环境(没有操作系统的计算机硬件,简称裸机)
Trove:提供管理数据库服务(控制关系型和非关系型数据库)
heat、sahara:提供对数据管理和编排

核心组件

Glance:提供镜像服务
Neutron:提供网络服务
Swift:提供对象存储资源
Cinder:提供块存储资源
Nova:管理实例的生命周期,并负责管理调用上面的四个资源给虚拟机使用

OpenStack服务组件

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

OpenStack组件详解

  1. Nova(负责生命周期管理)
    Nova管理的是所有的虚拟化资源,可以把虚拟化资源拿过来给虚拟机使用,从而让虚拟机正常运行,它调用的对象就是支撑实例运行的资源基础,所有它可以管理实例的生命周期,Nova还可以通过多种不同的驱动,来支持多种不同的虚拟化技术,来达到横向扩展,达到一个通用性
  2. Neutron(负责虚拟网络的管理)
    就相当于连接内外网,可以让实例与外界相同,对一部分的资源的一个租令,从而自已定义分配资源,与其他租户之间互不影响
  3. Keystone(全局组件)
    主要用于OpenStack中的所有组件之间相互交互、对接的认证机制,可以对用户等进行认证与授权
  4. Horizon (提供UI)
    给使用者提供一个清晰的管理界面,在控制台选择好自已需求的规格,然后进行创建控制台会把我们的需求,传递给OpenStack底层从而对我们的需求进行创建
  5. Glance(镜像模板)
    提供虚拟机镜像模板的注册与管理,如搭建一个负载均衡架构,封装为一个镜像,这个镜像就相当于一个负载均衡架构模板,只需要下载这个镜像,就可以供给多个用户使用,然后用这个镜像去创建虚拟机,创建出来的就是负载均衡架构的操作系统
  6. Cinder(块存储)
    负责为运行实例提供持久的块存储设备,可以方便的扩展,按需付费,因为它不只是为一个用户提供服务是为多个用户提供,所以它支持的是多种后端存储类型
  7. Swift(对象存储)
    为OpenStack提供基于云的弹性存储,支持集群无单点故障,它其实就是键值对的存储,存储的资源就是一些静态资源,它不能再对象存储中的内部直接修改源文件,而是需要下载下来才可以修改,然后在推送上去已做更新
  8. Ceilometer(度量,监控)
    用于管理用户对资源的租期管理,为用户提供记账途径

OpenStack组件通信关系

  1. 基于AMQP协议的通信:用于每个项目内部各个组件之间的通信
  2. 基于SQL的通信:用于各个项目内部的数据库通信
  3. 基于HTTP协议进行通信:通过各项目的API建立的通信关系,API都是RESTful Web API
  4. 通过Native API实现通信:OpenStack各组件和第三方软硬件之间的通信

你可能感兴趣的:(Linux,openstack)