Glance项目提供虚拟机镜像的发现,注册,取得服务。

Glance提供restful API可以查询虚拟机镜像的metadata,并且可以获得镜像。

通过Glance,虚拟机镜像可以被存储到多种存储上,比如简单的文件存储或者对象存储(比如OpenStack中swiftx项目)。

Glance,像所有的OpenStack项目一样,遵循以下思想:

1.基于组件的架构      便于快速增加新特性

2.高可用性                  支持大负荷

3.容错性                      独立的进程避免串行错误

4.开放标准                  对社区驱动的API提供参考实现

Glance的几个重要概念:

1.Image identifiers                         Image使用URI作为唯一标识,URL符合以下格式:

<Glance Server Location>/images/<ID>

Glance Server Location是镜像的所在位置, ID是镜像在Glance的唯一标识。

2.Image Statuses                         共四种状态。

queued                                标识该镜像ID已经被保留,但是镜像还未上传。

saving                                  标识镜像正在被上传。

active                                    标识镜像在Glance中完全可用。

killed                                     标识镜像上传过程中出错,镜像完全不可用。

3.Disk and Container format

Disk  Format:raw vhd vmdk vdi iso qcow2 aki ari ami

Container Format: ovf bare aki ari ami

当disk format为aki ari ami时,disk format 和container format一致。

4.Image Registries

使用Glance,镜像metadata可以注册至image registries。

只要为image metadata提供了rest like API,任何web程序可以作为image registries与Glance对接。

当然,Glance也提供了参考实现。

更多信息可以参考on
Controlling Servers
,来自于Glance提供的Glance registry server。

Glance提供了如下Rest-like API:

GET     /images         Return brief information about public images
GET /images/detail Return detailed information about public images
GET /images/<ID> Return metadata about an image in HTTP headers
POST /images Register metadata about a new image
PUT /images/<ID> Update metadata about an existing image
DELETE /images/<ID> Remove an image's metadata from the registry

通过 GET /images and GET /images/detail对镜像过滤查询

 
支持以下参数:

  • name=NAME

    Filters images having a name attribute
    matching NAME.

  • container_format=FORMAT

    Filters images having a container_format attribute
    matching FORMAT

    For more information, see About Disk and Container Formats

  • disk_format=FORMAT

    Filters images having a disk_format attribute
    matching FORMAT

    For more information, see About Disk and Container Formats

  • status=STATUS

    Filters images having a status attribute
    matching STATUS

    For more information, see About Image Statuses

  • size_min=BYTES

    Filters images having a size attribute
    greater than or equal to BYTES

  • size_max=BYTES

    Filters images having a size attribute
    less than or equal to BYTES

These two resources also accept sort parameters:

  • sort_key=KEY

    Results will be ordered by the specified image attribute KEY.
    Accepted values include id, name, status, disk_format,container_format, size, created_at (default)
    and updated_at.

  • sort_dir=DIR

    Results will be sorted in the direction DIR.
    Accepted values are asc for
    ascending or desc (default)
    for descending.

     
 

POST /images

request的body部分使用json编码,比如以下格式:

{'image':
{'id': <ID>|None,
'name': <NAME>,
'status': <STATUS>,
'disk_format': <DISK_FORMAT>,
'container_format': <CONTAINER_FORMAT>,
'properties': [ ... ]
}
}

如果输入不满足以下条件,将返回400错误:

  • status must
    be non-empty, and must be one of active, saving, queued, or killed
  • disk_format must
    be non-empty, and must be one of ari, aki, ami, raw, iso, vhd, vdi, qcow2, or vmdk
  • container_format must
    be non-empty, and must be on of ari, aki, ami, bare, or ovf
  • If disk_format or container_format is ari, aki, ami,
    then both disk_format and container_format must
    be the same.

Glance的架构:

Glance被设计为可以使用多种后端存储。

前端通过API Server向多个Client提供服务。

Glance目前提供的参考实现中Registry Server仅是使用Sql数据库存储metadata

Glance目前支持S3,Swift,简单的文件存储及只读的HTTPS存储。

后续也可能支持其他后端,如分布式存储系统(SheepDog或Ceph)。

OpenStack组件系列☞glance简介的更多相关文章

  1. OpenStack组件系列☞glance搭建

    第一步:glance关于数据库的操作 mysql -u root -p #登入数据库 CREATE DATABASE glance; #新建库keystone GRANT ALL PRIVILEGES ...

  2. OpenStack组件系列☞Keystone搭建

    一:版本信息 官网:http://docs.openstack.org/newton/install-guide-rdo/keystone.html 二:部署keystone 官网文档:http:// ...

  3. OpenStack组件系列☞Keystone

    Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证.服务规则和服务令牌功能的模块.用户访问资源需要验证用户的身份与权限,服务执行操作 ...

  4. OpenStack组件系列☞horizon搭建

    第一步:部署horizon环境: 安装部署memcache 安装软件包 yum install memcached python-memcached 启动memcache并且设置开机自启动 syste ...

  5. OpenStack实践系列①openstack简介及基础环境部署

    OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...

  6. Openstack Sahara组件和架构简介

    1.简介 Apache Hadoop是目前被广泛使用的主流大数据处理计算框架,Sahara项目旨在使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,实现类似AWS的 ...

  7. OpenStack实践系列③镜像服务Glance

    OpenStack实践系列③镜像服务Glance 3.5 Glance部署 修改glance-api和glance-registry的配置文件,同步数据库 [root@node1 ~]# vim /e ...

  8. Openstack组件实现原理 — Glance架构(V1/V2)

    目录 目录 Glance 安装列表 Glance Image service Image service 的组件 Glance-Api Glance-Registry Glance-db Image ...

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

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

随机推荐

  1. Redhat/Fedora 网络接口的配置文件和网络接口专用配置工具

    在Redhat/Fedora 中,与乙太网卡相关的配置文件位于 /etc/sysconfig/network-scripts目录中,比如 ifcfg-eth0.ifcfg-eth1 .... .... ...

  2. TYVJ4239 [NOIP2015提高组DayT3]斗地主

    P2668 斗地主 题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中, 牌的大小关系根据牌的数码表示如 ...

  3. 【洛谷P1632】点的移动

    P1632 点的移动 题目描述 平面上有N个整数坐标点.如果将点(x0,y0)移动到(x1,y1),则需要的代价为|x0-x1|+|y0-y1|.求使得K(K=1,-,N)个点在同一位置上最少需要的代 ...

  4. HR招聘_(九)_招聘方法论(面试环节·薪资谈判和心理把控)

    .薪资谈判 薪资谈判在整个过程中非常重要,如果这一环出现问题前期的所有付出都功亏一篑,无法达成招聘目标. 谈判过程中需要遵循以下原则: 明确 通过面试后需要再次确认候选人的目前薪资和期望,虽然第一次电 ...

  5. ACdream 1099求第k大

    题目链接 瑶瑶的第K大 Time Limit: 10000/5000MS (Java/Others)Memory Limit: 512000/256000KB (Java/Others) Submit ...

  6. python基础知识--标志位的设定

    在单层循环的退出中,使用break即能退出,那么多层循环呢?机智的人们使用flag标识符的方式,例如: exit_flag = False for i in range(10): if i <5 ...

  7. idea启动报错:Access denied for user 'root '@'192.168.100.XXX' (using password: YES)

    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean wit ...

  8. CSS3圆环旋转效果

    html结构: <div class="demo"></div> css结构: .demo{ width:250px; height:250px; bord ...

  9. Wireshark抓包常见问题解析(转)

    1. tcp out-of-order(tcp有问题) 解答: 1). 应该有很多原因.但是多半是网络拥塞,导致顺序包抵达时间不同,延时太长,或者包丢失,需要重新组合数据单元 因为他们可能是通过不同的 ...

  10. php表单传值--GET和POST

    一.       传值 1.    传值/接收方法: 1)        GET(5种方式!) a)       表单Form: method = ‘get’   GET接收数据方式: b)      ...