Image Service

本文介绍在controller节点上安装、配置Image服务 glance,镜像存储在本地文件系统

安装准备

controller 节点 ip:192.168.81.11

1、首先创建数据库、service credentialsAPI endpoints

$ mysql -uroot -p
mysql> create database glance;
mysql> grant all privileges on glance.* to 'glance'@'localhost' \
identified by '123456' with grant option;
mysql> grant all privileges on glance.* to 'glance'@'%' \
identified by '123456' with grant option;
mysql> exit;

2、切换到admin用户环境以使用admin-only CLI命令

$ source admin-openrc

3、建立service credentials

  • 创建glance用户

    $ openstack user create --domain default --password-prompt glance
    User Password:
    Repeat User Password:
    +---------------------+----------------------------------+
    | Field | Value |
    +---------------------+----------------------------------+
    | domain_id | default |
    | enabled | True |
    | id | 3f4e777c4062483ab8d9edd7dff829df |
    | name | glance |
    | password_expires_at | None |
    +---------------------+----------------------------------+
  • glance用户和service项目添加admin角色

    $ openstack role add --project service --user glance admin

    此命令运行后无输出

  • 创建glance服务入口

    $ openstack service create --name glance \
    --description "OpenStack Image" image
    +-------------+----------------------------------+
    | Field | Value |
    +-------------+----------------------------------+
    | description | OpenStack Image |
    | enabled | True |
    | id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | name | glance |
    | type | image |
    +-------------+----------------------------------+

4、创建image service API endpoints

$ openstack endpoint create --region RegionOne \
image public http://192.168.81.11:9292 +--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 340be3625e9b4239a6415d034e98aace |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | glance |
| service_type | image |
| url | http://192.168.81.11:9292 |
+--------------+----------------------------------+ $ openstack endpoint --region RegionOne \
image internal http://192.168.81.11:9292 +--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | glance |
| service_type | image |
| url | http://192.168.81.11:9292 |
+--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \
image admin http://192.168.81.11:9292 +--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 0c37ed58103f4300a84ff125a539032d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | glance |
| service_type | image |
| url | http://192.168.81.11:9292 |
+--------------+----------------------------------+

安装及配置组件

1、安装

# yum install openstack-glance

2、编辑/etc/glance/glance-api.conf,加如下内容:

[database]
...
connection = mysql+pymysql://glance:123456@192.168.81.11/glance [keystone_authtoken]
...
auth_uri = http://192.168.81.11:5000
auth_url = http://192.168.81.11:35357
memcached_servers = 192.168.81.11:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 123456 [paste_deploy]
...
flavor = keystone [glance_store]
...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

修改完成后,可用如下命令检查配置文件与上述内容相符:
$ cat /etc/glance/glance-api.conf | grep -v ^# | grep -v ^$

3、编辑/etc/glance/glance-registry.conf,加如下内容:

[database]
...
connection = mysql+pymysql://glance:123456@192.168.81.11/glance [keystone_authtoken]
...
auth_uri = http://192.168.81.11:5000
auth_url = http://192.168.81.11:35357
memcached_servers = 192.168.81.11:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 123456 [paste_deploy]
...
flavor = keystone

修改完成后,可用如下命令检查配置文件与上述内容相符:
$ cat /etc/glance/glance-registry.conf | grep -v ^# | grep -v ^$

4、生成image service数据库

# su -s /bin/sh -c "glance-manage db_sync" glance

此处可忽略该命令输出的deprecation messages

完成安装

  • 设置开机自动运行并启动image services

    # systemctl enable openstack-glance-api.service \
    openstack-glance-registry.service
    # systemctl start openstack-glance-api.service \
    openstack-glance-registry.service

    上述服务启动后,可如下验证:
    $ ss -lnp|grep 9292
    tcp LISTEN 0 128 :9292 :
    users:(("glance-api",pid=10926,fd=4),("glance-api",pid=10878,fd=4))


    $ ss -lnp|grep 9191
    tcp LISTEN 0 128 
    :9191 :
    users:(("glance-registry",pid=10914,fd=4),("glance-registry",pid=10874,
    fd=4))

验证

在controller节点进行验证

1、切换到admin用户环境以使用admin-only CLI命令

$ source admin-openrc

2、下载测试用image

$ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

3、将cirros镜像上传到镜像服务,镜像文件指定QCOW2格式、bare容器格式,public可见让所有projects都可访问到

$ openstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare --public +------------------+------------------------------------------------------+
| Field | Value |
+------------------+------------------------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | 2017-01-14T00:58:31Z |
| disk_format | qcow2 |
| file | /v2/images/583c1e1a-78bd-4030-8b09-84a29102123b/file |
| id | 583c1e1a-78bd-4030-8b09-84a29102123b |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| owner | a84ed1f6ae5d433ca1f84396424eae8c |
| protected | False |
| schema | /v2/schemas/image |
| size | 13287936 |
| status | active |
| tags | |
| updated_at | 2017-01-14T00:58:35Z |
| virtual_size | None |
| visibility | public |
+------------------+------------------------------------------------------+

4、确认镜像上传成功

$ openstack image list

+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 583c1e1a-78bd-4030-8b09-84a29102123b | cirros | active |
+--------------------------------------+--------+--------+

Image service 部署完成

安装Newton版Glance的更多相关文章

  1. 安装Newton版Swift,配合keystone认证

    主控节点安装配置 Keystone 认证服务 主控节点 IP:192.168.81.11 yum install centos-release-openstack-newton -y yum upda ...

  2. openstack安装newton版本Glance部署(二)

    一.部署Glance 1.Glance 安装 [root@linux-node1 ~]#yum install openstack-glance python-glance python-glance ...

  3. openstack 部署(Q版)-----glance镜像服务安装配置

    一.创建数据库 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO '; GRANT ALL PRIVILEGES ON glanc ...

  4. Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)

      Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...

  5. 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!

    http://bbs.wuyou.net/forum.php?mod=viewthread&tid=363198&extra=抛弃vboot不格盘用grub4dos+firadisk安 ...

  6. 在centos 6.5 在virtual box 上 安装增强版工具

    centos 6.5 在virtual box 上 安装增强版工具: 出现:centos unable to find the source of your current linux kernel ...

  7. Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版

    Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版 Sublime Text 3 Build 3047 32bit 简体中文安装破解版下载:http://y ...

  8. Sql Server 2008开发版(Developer Edition)过期升级企业版(Enterprise Edition)失败后安装学习版(Express Edition)

    最近一个多月,甚是悠哉,无事可做.上线的网站系统也没接到客户的反馈,反而觉得无聊之极了.上周五早上,一上QQ,就收到客户发来消息,管理平台无法登陆了.心里一惊,立马开始查找故障原因.翻看了系统日志,提 ...

  9. [解决]Windows Server 2012 不能安装IE版的Flash

    1.问题描述 在server 2012下安装IE版的Flash提示包含最新版本 2.解决方法 2.1.开启“桌面体验”功能 2.2.关闭“IE增强的安全配置”功能 3.重启计算机后安装Flash

随机推荐

  1. 【Android学习】自定义checkbox

    1.1 自定义checkbox 选中图片 自定义checkbox使用的时android:background而不是android:button,原因在于使用button时自定义图片过大超出边缘部分会截 ...

  2. Python Lambda 的简单用法

    下面代码简单举例介绍以下 lambda的用法. from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而de ...

  3. 【C#】is 和 as

    看个例子: public class User { } public class Group { } class Program { static void Main(string[] args) { ...

  4. React学习笔记4

    遇到的问题 目前模板是自己任意定义的,样式不好控制 在组件设计时,可以把页面数据显示的地方,分割父子组件嵌套的结构,比如,商品数据显示列表,把组外层容器看成是父组件,里面是数据显示的渲染模板,看成是子 ...

  5. SurfaceView和SurfaceHolder的基本用法

    仅做记录使用,新手也可以来看看,怎么得到一个surfaceholder. 1.在xml文件中增加一个surfaceView控件. <SurfaceView android:layout_widt ...

  6. [转]Marshaling a SAFEARRAY of Managed Structures by P/Invoke Part 5.

    1. Introduction. 1.1 In part 4, I have started to discuss how to interop marshal a managed array tha ...

  7. go语言 defer 你不知道的秘密!

    go 语言的defer功能强大,对于资源管理非常方便,但是如果没用好,也会有陷阱哦.我们先来看几个例子. 例一: defer 是先进后出 这个很自然,后面的语句会依赖前面的资源,因此如果先前面的资源先 ...

  8. 声明函数指针、回调函数、函数对象------c++程序设计基础、编程抽象与算法策略

    声明函数指针 #include<iostream> using namespace std; double a(double aa) { return aa; } int main() { ...

  9. 用Python写一个随机密码生成器

    # /bin/python3 import sys import time import random strs = [ i for i in range(32,128) ] #产生密码的ASCII码 ...

  10. 【转】C# WinForm获取当前路径汇总

    源地址:https://www.cnblogs.com/greatverve/archive/2011/12/15/winform-path.html