Glance是OpenStack的镜像管理模块,负责镜像的上传、下载等管理。
Glance项目提供虚拟机镜像的查找、注册和重现,使用RESTful接口接受虚拟机镜像管理的查询请求。
Glance-API和Glance-Registry是两个独立运行的服务,在sbin目录下,看过glance部署文章的同学知道,glance部署的最后一步就是启动glance-api和glance-registry这两个服务。这两个服务作为WSGI,会分别响应来自用户的RESTful请求,
Glance对外服务的入口主要有两个
1、Glance-API:主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增、删除、更新元数据等)。默认绑定端口是9292。
2、Glance-Registry:主要负责接收响应镜像元数据命令的Restful请求,分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定端口是9191。
在/etc/glance目录下有两个文件glance-api-paste.ini和glance-registry-paste.ini,两个入口服务启动后,会用配置文件分析模块读取这两个文件,执行其文件中标注的需要执行的WSGIapp和middleware。简述paste文件中的概念:
app:实际处理REST API请求的python类。
filter:一种装饰器,为app提供一层封装,在app处理请求之前会先调用filter的对象。
pipeline:所对应的对象是对filter和app的的封装,他将多个filter和某个app绑在一起,在app处理请求之前要先通过pipline指定的在app之前的filter的处理。
在glance-registry中有
[app:registryapp] paste.app_factory = glance.registry.api.v1:API.factory
证明这是一个独立的服务程序
我们以glance-api为例,分析其服务入口程序
""" Glance API Server """ import gettext import os import sys # If ../glance/__init__.py exists, add ../ to Python search path, so that # it will override what happens to be installed in /usr/(local/)lib/python... possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), os.pardir, os.pardir)) if os.path.exists(os.path.join(possible_topdir, 'glance', '__init__.py')): sys.path.insert(0, possible_topdir) gettext.install('glance', unicode=1) from glance.common import config from glance.common import wsgi from glance.common import exception from glancmon import log import glance.store def fail(returncode, e): sys.stderr.write("ERROR: %s\n" % e) sys.exit(returncode) if __name__ == '__main__': try: config.parse_args() log.setup('glance') glance.store.create_stores() glance.store.verify_default_store() server = wsgi.Server() server.start(config.load_paste_app(), default_port=9292) server.wait() except exception.WorkerCreationFailure, e: fail(2, e) except RuntimeError, e: fail(1, e)
首先程序会调用glance.store.create_stores,注册与后端存储(swift、s3、filesystem等)相关的控制模块,并校验默认存储方式。
紧接着启动一个Http Server,Openstack的WSGI SERVER用到了eventlet这个绿色线程的组件。通过config.load_paste_app()方法,会从上面提到的glance-api-paste.ini配置文件中读取要启动的WSGI app,并在server中启动,并让server线程等待接收http rest查询响应。
相关推荐
《Paraview-Glance源码解析》 Paraview-Glance是ParaView项目的一个分支,专注于提供轻量级的、基于Web的可视化界面,让用户能够远程访问和交互式地查看大型科学数据。源码分析是理解软件工作原理、进行定制化开发...
Glance是OpenStack云平台中的一个关键组件,主要负责提供虚拟机镜像的存储和检索服务。在"glance 1.1"这个版本中,我们聚焦于OpenStack Glance的早期发展,它为OpenStack生态系统奠定了基础。下面将详细讨论Glance ...
此时,Python-Glance作为一个现代化的跨平台监控解决方案应运而生,它旨在为用户提供更直观、可定制的监控体验。 **Python-Glance的特点** 1. **跨平台兼容性**:Glance支持多种操作系统,包括但不限于Linux、...
Glance是OpenStack云平台中的一个关键组件,主要负责镜像服务,为虚拟机实例提供镜像的存储、检索和管理功能。以下是对Glance安装配置的详细说明: 1. **创建Glance数据库及授权** 在安装Glance之前,需要在MySQL...
通过深入学习这四大组件的源码,开发者不仅可以了解OpenStack的基本架构和工作原理,还能对云存储、计算和身份管理有更深入的理解。此外,源码分析对于定制化开发、性能优化以及故障排查都具有重要意义。对于希望...
云计算Glance管理是云计算领域中的一种重要的镜像管理服务。Glance是OpenStack云计算平台中的一部分,负责管理和维护虚拟机镜像。Glance提供了镜像的注册、存储、检索和删除等功能,确保了云计算环境中的镜像管理是...
Glance的架构包含两个主要的服务进程:glance-api和glance-registry。glance-api对外提供REST API接口,处理用户的请求,如果是元数据操作,它会将请求转发给glance-registry;如果是镜像文件的存取,它会根据配置的...
镜像服务(Glance)是OpenStack中的一个核心组件,主要负责管理和提供虚拟机镜像。以下是对安装和配置Glance服务的详细步骤和涉及的知识点的解释: 1. **安装Glance软件包**:在OpenStack环境中,首先需要通过包...
Glance是一个功能强大的实时监控工具,专为HP-UX系统设计。它能够提供丰富的系统信息,并以图形模式和文本模式显示,帮助用户更好地理解和管理系统的资源利用情况。Glance支持多种视图展示,包括但不限于CPU使用率、...
在OpenStack云平台中,Glance是一个关键组件,它负责管理和提供虚拟机镜像服务。理解Glance的系统架构及其工作原理对于有效地构建和维护OpenStack环境至关重要。 一、系统架构 Glance的系统架构主要包括以下几个...
OpenStack-glance服务-glance-api.conf配置文件,在配置OpenStack的glance服务中,配置文件glance-api.conf需要进行部分修改,进而来适应各种服务,该文件为修改完成的glance-api.conf文件内容。
3. **OpenStack Image Service (Glance)**:Glance主要负责管理和检索虚拟机镜像,它提供了一个RESTful API供用户查询、上传和下载镜像。Glance可以集成多种后端存储,如本地文件系统、Swift对象存储或者Amazon S3等...
在"源码安装openstack软件包"的过程中,我们需要对OpenStack的架构和组件有深入理解,并熟悉Linux操作系统、编译工具以及依赖管理。 首先,OpenStack的组件包括Nova(计算)、Glance(镜像服务)、Cinder(块存储)...
该实验属于软件学院网络工程专业的一门课程,旨在让学生们通过实际操作来掌握OpenStack中的关键组件之一——Glance镜像服务的安装与配置。 实验的主要目标包括: - 学习如何安装和配置Glance镜像服务。 - 理解...
openstack项目中关于glance的应用与注意事项
1. 源码加载`admin`用户的环境变量: ``` source /root/admin-openrc ``` 2. 创建Glance用户,指定其属于`default`域,与`service`项目关联,赋予`admin`角色: ``` openstack user create --domain default -...
在进行OpenStack Nova源码分析时,我们需要深入了解其架构、核心模块以及关键流程。 首先,Nova的整体架构基于服务模型,包括以下主要服务: 1. **nova-api**:API服务,对外提供RESTful API接口,用于与其他...
默认情况下,`glance`每5秒刷新一次屏幕,展示系统资源和活动进程的基本信息。为了获取更详细的性能数据,可以通过命令行参数来定制显示内容。 #### 三、常用选项及参数 ##### 1. 基本选项 - **`-j interval`**: ...
OpenStack 镜像服务(Glance)是一个查找和虚拟机图像检索系统。它可以配置三种方式:使用 OpenStack 对象存储来存储图像;使用亚马逊 S3 直接存储;或使用 S3 对象存储作为 S3 访问中间存储。 OpenStack 项目架构...