OpenStack的架构及组件(Havana)

服务 项目名 描述
控制台 Horizon 用户通过该服务与OpenStack的各服务进行交互,如启动虚机实例、分配IP地址、设置访问控制等;
计算 Nova 按需分派并管理虚机;
网络 Neutron 通常是计算服务通过该服务管理网络设置之间的连接,也可以允许终端用户创建并添加网络接口;通过一个插件式架构支持大量网络广商设备及网络技术;
存储类
对象存储 Swift 存取文件,但并不提供传统挂载式的文件服务;
块存储 Cinder 向虚机提供可用于持久存储的块存储服务;
共用服务
身份服务 Keystone 为OpenStack提供认证及授权服务。
镜像服务 Glance 提供虚机镜像的注册服务;同时计算服务也使用该服务分派实例;
计量/监控服务 Ceilometer 用于计费、基准测试及数据统计等功能
更高层服务
编排组织服务 Heat 使用自带的HOT模板或AWS的CloudFormation模板,通过OpenStack中各服务的REST API,将各组件的资源组织形成云应用;

Nova

计算服务是OpenStack的核心服务,它由nova-compute模块通过libvirt、XenAPI等管理hypervisor,从而管理虚机,此外它还通过nova-api服务向外提供如EC2兼容、管控功能等的接口,通过nova-scheduler模块提供虚机调研逻辑等;这些模块间的通信全部通过消息队列完成;

Swift

对象存储服务是OpenStack最早期的两个服务之一(另一个是计算服务),在OpenStack平台中,任何的数据都是一个对象;swift-proxy模块对外提供如HTTP(S)、OpenStack Object API及与S3兼容的存取接口。对象的存取经swift-proxy接入后,还需要经三个模块进行定位,即account、container、object;这是因为在OpenStack中一个对象被描述为:某个帐户下某个容器中的某个对象;

Glance

Glance的出现是解决虚机镜像的管理问题;在生成一个镜像后,需要将镜像注册到系统的数据库中;当要实例化一个虚机时,需要将镜像分派到一台具体的实机上用来以启动虚机;因而Glance最重要的接口是镜像的注册和分派;

Cinder

Essex将nove的卷管理api独立化后,Folsom终于将卷管理服务抽离成了Cinder;Cinder管理所有的块存储设备,块设备可以挂接在虚机的实例中,然后虚机里的guest系统可以像操作本地卷一样操作块存储设备;
Cinder需要处理的主要问题应该是接入各种块设备,如本地磁盘、LVM或各大广商提供的设备如EMC、NetApp、HP、HuaWei,还有如Vmware提供的虚拟块设备等。
值得一提的是发现在Cinder的驱动列表中出现了NFS,按理说NFS提供的不是块访问接口,而是文件访问接口,走到文档中看到说明为:NFS based cinder driver. Creates file on NFS share for using it as block device on hypervisor.竟然是用NFS上的文件模拟块设备。为什么不直接写一个将本地文件模拟为块设备的驱动呢?应该是写成NFS驱动,可以将NFS的挂载动作封装在驱动中。

Neutron

经过一定时间的演变,网络管理也抽离成一个独立的服务;在OpenStack的网络管理流程中,通常需要经过以下几个步骤:
1.    创建一个网络;
2.    创建一个子网;
3.    启动一个虚机,将一块网卡对接到指定的网络上;
4.    删除虚机;
5.    删除网络端口;
6.    删除网络;

Keystone

身份服务需要进行认证凭证的验证及关于用户、角色等的信息,及所有相关的元数据;这些数据全都由Keystone服务管理,并提供CRUD的操作方法;另外这些信息可以从另一个认证服务中获取,例如使用LDAP做Keystone的后端。

OpenStack与VM

以上这些服务与服务、服务与虚机的关系如下图所示:

  • 真正服务于VM的服务只有Nova、Glance、Neutron、Cinder:

    • Nova调派资源实例化虚机;
    • Glance提供虚机实例化时需要的镜像;
    • Neutron提供网络连接;
    • Cinder提供外接的块存储服务;
  • Ceilometer从上面与虚机相关的几个服务中收集数据,用于统计、监控、计费、报警等;
  • Swift可以为Glance提供镜像的存储服务,可以为Cinder提供卷的备份服务;
  • Keystone为所有服务提供认证、授权等服务;
  • Horizon为所有服务提供基于Web的操作接口;
  • 通过Heat可以方便地将各组件组织起来;

转载于:https://www.cnblogs.com/xueluo/p/3510761.html

OpenStack组件相关推荐

  1. Openstack组件实现原理 — Keystone认证功能

    前言 Keystone实现始终围绕着Keystone所实现的功能来展开,所以在理解其实现之前,建议大家尝试通过安装Keystone这一个过程来感受Keystone在Openstack架构中所充当的角色 ...

  2. Openstack组件部署 — Overview和前期环境准备

    目录 目录 前言 软件环境 Openstack 简介 Openstack 架构 Openstack Install Overview 创建Node虚拟机 环境准备 基础设置 Install OpenS ...

  3. Openstack组件实现原理 — OpenVswitch/Gre/vlan

    目录 目录 前文提要 Neutron 管理的网络相关实体 OpenVswitchOVS OVS 的架构 VLan GRE 隧道 Compute Node 中的 Instance 通过 GRE 访问 P ...

  4. Openstack组件部署 — Networking service_Compute Node

    目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...

  5. Openstack组件部署 — Netwotking service组件介绍与网络基本概念

    目录 目录 前文列表 Openstack Networking serivce 基本的Neutron概念 Neutron的抽象对象 网络networks 子网subnets 路由器routers 端口 ...

  6. Openstack组件实现原理 — Nova 体系结构

    目录 目录 前文列表 Nova体系结构 虚拟机实例化流程 前文列表 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environment of Con ...

  7. Openstack组件部署 — Nova_Install and configure a compute node

    目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...

  8. Openstack组件部署 — Keystone功能介绍与认证实现流程

    目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...

  9. OpenStack组件——Keyston身份认证服务

    OpenStack组件--Keyston身份认证服务 一.Keystone身份服务简介 1.1.概述:主要功能 1.2.管理对象 1.3keystone认证过程⭐⭐⭐ 二.Keystone身份认证服务 ...

  10. openstack组件之nova

    一.nova介绍 nova是openstack 最核心的服务,负责维护和管理云环境的计算资源. 管理 VM 的生命周期 二.nova架构 nova 的架构比较复杂,包含很多组件. 这些组件以子服务(后 ...

最新文章

  1. numpy数组ndarray如何对每个元素取绝对值,然后生成原数组的绝对值数组
  2. IBM WebSphere MQ 系列(二)安装MQ
  3. 【Linux】gdb常用的调试命令
  4. 使用VMware VSphere WebService SDK进行开发 (二)——获取虚拟机cpu的使用情况
  5. magento 获取产品存货量以及configurable product 下associated children product信息
  6. 绝佳的ASR学习方案:这是一套开源的中文语音识别系统
  7. 钉钉机器人:python发送消息-加签模式
  8. python 英文字典-python如何制作英文字典
  9. C# Xamarin For Android移动开发基础实战演练
  10. 寄生电容/寄生电阻/寄生电感
  11. java poi 创建ppt图表,柱状图
  12. 微信扫码支付 java版
  13. 腾讯汤道生:产业互联网时代,安全成为CEO的一把手工程
  14. 微信小程序开发之组件official-account(配置公众号关注组件)
  15. Windows 11 配置Java 环境变量
  16. Nginx 实现文件夹上传(保留目录结构)
  17. 棋盘密码(Polybius)
  18. 3.vue开发实例演示
  19. 简易的GUI图书管理系统(数据库Mysql)
  20. 快速云:了解混合云连接最佳做法

热门文章

  1. express路由管理的几种自动化方法分享-js教程-PHP中文网
  2. DESUtils 加解密时 Given final block not properly padded bug小记
  3. IPython 使用记录
  4. Linux中使用crontab命令启用自定义定时任务
  5. Apache不记录制定文件类型日志
  6. 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
  7. Java Websocket实例
  8. Android 调用相册 拍照 实现系统控件缩放 切割图片
  9. malloc/free与new/delete的区别
  10. 跨时钟域电路设计——多bit信号FIFO