OpenStack组件
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组件相关推荐
- Openstack组件实现原理 — Keystone认证功能
前言 Keystone实现始终围绕着Keystone所实现的功能来展开,所以在理解其实现之前,建议大家尝试通过安装Keystone这一个过程来感受Keystone在Openstack架构中所充当的角色 ...
- Openstack组件部署 — Overview和前期环境准备
目录 目录 前言 软件环境 Openstack 简介 Openstack 架构 Openstack Install Overview 创建Node虚拟机 环境准备 基础设置 Install OpenS ...
- Openstack组件实现原理 — OpenVswitch/Gre/vlan
目录 目录 前文提要 Neutron 管理的网络相关实体 OpenVswitchOVS OVS 的架构 VLan GRE 隧道 Compute Node 中的 Instance 通过 GRE 访问 P ...
- Openstack组件部署 — Networking service_Compute Node
目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...
- Openstack组件部署 — Netwotking service组件介绍与网络基本概念
目录 目录 前文列表 Openstack Networking serivce 基本的Neutron概念 Neutron的抽象对象 网络networks 子网subnets 路由器routers 端口 ...
- Openstack组件实现原理 — Nova 体系结构
目录 目录 前文列表 Nova体系结构 虚拟机实例化流程 前文列表 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environment of Con ...
- Openstack组件部署 — Nova_Install and configure a compute node
目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...
- Openstack组件部署 — Keystone功能介绍与认证实现流程
目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...
- OpenStack组件——Keyston身份认证服务
OpenStack组件--Keyston身份认证服务 一.Keystone身份服务简介 1.1.概述:主要功能 1.2.管理对象 1.3keystone认证过程⭐⭐⭐ 二.Keystone身份认证服务 ...
- openstack组件之nova
一.nova介绍 nova是openstack 最核心的服务,负责维护和管理云环境的计算资源. 管理 VM 的生命周期 二.nova架构 nova 的架构比较复杂,包含很多组件. 这些组件以子服务(后 ...
最新文章
- numpy数组ndarray如何对每个元素取绝对值,然后生成原数组的绝对值数组
- IBM WebSphere MQ 系列(二)安装MQ
- 【Linux】gdb常用的调试命令
- 使用VMware VSphere WebService SDK进行开发 (二)——获取虚拟机cpu的使用情况
- magento 获取产品存货量以及configurable product 下associated children product信息
- 绝佳的ASR学习方案:这是一套开源的中文语音识别系统
- 钉钉机器人:python发送消息-加签模式
- python 英文字典-python如何制作英文字典
- C# Xamarin For Android移动开发基础实战演练
- 寄生电容/寄生电阻/寄生电感
- java poi 创建ppt图表,柱状图
- 微信扫码支付 java版
- 腾讯汤道生:产业互联网时代,安全成为CEO的一把手工程
- 微信小程序开发之组件official-account(配置公众号关注组件)
- Windows 11 配置Java 环境变量
- Nginx 实现文件夹上传(保留目录结构)
- 棋盘密码(Polybius)
- 3.vue开发实例演示
- 简易的GUI图书管理系统(数据库Mysql)
- 快速云:了解混合云连接最佳做法
热门文章
- express路由管理的几种自动化方法分享-js教程-PHP中文网
- DESUtils 加解密时 Given final block not properly padded bug小记
- IPython 使用记录
- Linux中使用crontab命令启用自定义定时任务
- Apache不记录制定文件类型日志
- 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
- Java Websocket实例
- Android 调用相册 拍照 实现系统控件缩放 切割图片
- malloc/free与new/delete的区别
- 跨时钟域电路设计——多bit信号FIFO