OpenStack实践系列③镜像服务Glance

3.5 Glance部署

修改glance-api和glance-registry的配置文件,同步数据库

[root@node1 ~]# vim /etc/glance/glance-api.conf
connection=mysql://glance:glance@192.168.3.199/glance [root@node1 ~]# vim /etc/glance/glance-registry.conf
connection=mysql://glance:glance@192.168.3.199/glance [root@node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance
No handlers could be found for logger "oslo_config.cfg"
/usr/lib64/python2./site-packages/sqlalchemy/engine/default.py:: Warning: Duplicate index `ix_image_properties_image_id_name`. This is deprecated and will be disallowed in a future release.
cursor.execute(statement, parameters)(可以忽略)

检查导入glance库的表情况

[root@node1 httpd]# mysql -h192.168.3. -uglance -pglance
MariaDB [(none)]> use glance
Database changed
MariaDB [glance]> show tables;
+----------------------------------+
| Tables_in_glance |
+----------------------------------+
| artifact_blob_locations |
| artifact_blobs |
| artifact_dependencies |
| artifact_properties |
| artifact_tags |
| artifacts |
| image_locations |
| image_members |
| image_properties |
| image_tags |
| images |
| metadef_namespace_resource_types |
| metadef_namespaces |
| metadef_objects |
| metadef_properties |
| metadef_resource_types |
| metadef_tags |
| migrate_version |
| task_info |
| tasks |
+----------------------------------+
rows in set (0.00 sec)

配置glance连接keystone,对于keystone,每个服务都要有一个用户连接keystone

[root@node1 ~]# source admin-openrc.sh
[root@node1 ~]# openstack user create --domain default --password=glance glance
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 8f1bc013d4f04784886c852cd678e756 |
| name | glance |
+-----------+----------------------------------+
[root@node1 ~]# openstack role add --project service --user glance admin

修改glance-api配置文件,结合keystone和mysql

# vim /etc/glance/glance-api.conf

[keystone_authtoken] 部分加入如下配置:

auth_uri = http://192.168.3.199:5000
auth_url = http://192.168.3.199:35357
memcached_servers = 192.168.3.199:
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = glance

[paste_deploy] 部分修改:

flavor=keystone

[default] 部分修改:

notification_driver = noop    # 镜像服务不需要使用消息队列
verbose=True # 打开debug

[glance_store] 部分:

default_store=file    # 镜像存放成文件
filesystem_store_datadir=/var/lib/glance/images/ # 镜像存放位置

编辑/etc/glance/glance-registry.conf文件,并完成以下操作:

verbose=True
notification_driver = noop

在[database]部分中,配置数据库访问

[database]
...

connection=mysql://glance:glance@192.168.3.199/glance

在[keystone_authtoken]和[paste_deploy]部分,配置认证服务访问

[keystone_authtoken]
...

auth_uri = http://192.168.3.199:5000
auth_url = http://192.168.3.199:35357
memcached_servers = 192.168.3.199:
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = glance

[paste_deploy]
...

flavor = keystone

检查glance修改过的配置

[root@node1 ~]# grep -n '^[a-z]' /etc/glance/glance-api.conf
:verbose=True
:notification_driver = noop
:connection=mysql://glance:glance@192.168.3.199/glance
:default_store=file
:filesystem_store_datadir=/var/lib/glance/images/
:auth_uri = http://192.168.3.199:5000
:auth_url = http://192.168.3.199:35357
:memcached_servers = 192.168.3.199:
:auth_plugin = password
:project_domain_id = default
:user_domain_id = default
:project_name = service
:username = glance
:password = glance
:flavor=keystone
[root@node1 ~]# grep -n '^[a-z]' /etc/glance/glance-registry.conf
:verbose=True
:notification_driver = noop
:connection=mysql://glance:glance@192.168.3.199/glance
:auth_uri = http://192.168.3.199:5000
:auth_url = http://192.168.3.199:35357
:memcached_servers = 192.168.3.199:
:auth_plugin = password
:project_domain_id = default
:user_domain_id = default
:project_name = service
:username = glance
:password = glance
:flavor=keystone

对glance设置开机启动并启动glance服务

[root@node1 glance]# systemctl enable openstack-glance-api
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
[root@node1 glance]# systemctl enable openstack-glance-registry
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-registry.service to /usr/lib/systemd/system/openstack-glance-registry.service.
[root@node1 glance]# systemctl start openstack-glance-api
[root@node1 glance]# systemctl start openstack-glance-registry

查看galnce占用端口情况,其中9191是registry占用端口,9292是api占用端口

[root@node1 glance]# netstat -lntup | egrep '9191|9292'
tcp 0.0.0.0: 0.0.0.0:* LISTEN /python2
tcp 0.0.0.0: 0.0.0.0:* LISTEN /python2

让glance服务在keystone上注册,才可以允许其他服务调用glance

[root@node1 ~]# source admin-openrc.sh
[root@node1 ~]# openstack service create --name glance --description "OpenStack Image service" image
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Image service |
| enabled | True |
| id | 7e931b709a444c13bac5611fb19b9a05 |
| name | glance |
| type | image |
+-------------+----------------------------------+ [root@node1 ~]# openstack endpoint create --region RegionOne image public http://192.168.3.199:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 4ea9ed1557dc4e548c76cdf0f3d4fbdc |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7e931b709a444c13bac5611fb19b9a05 |
| service_name | glance |
| service_type | image |
| url | http://192.168.3.199:9292 |
+--------------+----------------------------------+ [root@node1 ~]# openstack endpoint create --region RegionOne image internal http://192.168.3.199:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | cef79d1f235c4fbe9eb2679c101edc15 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7e931b709a444c13bac5611fb19b9a05 |
| service_name | glance |
| service_type | image |
| url | http://192.168.3.199:9292 |
+--------------+----------------------------------+ [root@node1 ~]# openstack endpoint create --region RegionOne image admin http://192.168.3.199:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | b8012edc462a4d82b68b6a138b47cc94 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7e931b709a444c13bac5611fb19b9a05 |
| service_name | glance |
| service_type | image |
| url | http://192.168.3.199:9292 |
+--------------+----------------------------------+

在admin和demo中加入glance的环境变量,告诉其他服务glance使用的环境变量,一定要在admin-openrc.sh的路径下执行

[root@node1 ~]# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
export OS_IMAGE_API_VERSION=
[root@node1 ~]# tail - admin-openrc.sh
export OS_IMAGE_API_VERSION=
[root@node1 ~]# tail - demo-openrc.sh
export OS_IMAGE_API_VERSION=

报错记录:
[root@node1 ~]# openstack service create --name glance --description "OpenStack Image service" image
An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-323c5997-7c34-418e-af7b-8dbb4f4fdd0f)

解决办法:
重启keystone相关服务即可
[root@node1 ~]# systemctl restart httpd.service
[root@node1 ~]# systemctl restart memcached.service

如果出现以下情况,表示glance配置成功,由于没有镜像,所以看不到

[root@node1 ~]# glance image-list
+----+------+
| ID | Name |
+----+------+
+----+------+

验证Glance服务操作

使用CirrOS,一个很小的Linux镜像,可以帮助测试OpenStack部署镜像服务是否正常下载一个镜像,上传镜像到glance,要在上一步所下载的镜像当前目录执行

[root@node1 ~]# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

将图像上传至使用QCOW2磁盘格式,因此所有的项目都可以访问它的服务

[root@node1 ~]# glance image-create --name "cirros" --file cirros-0.3.-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress
[=============================>] %
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | --26T02::15Z |
| disk_format | qcow2 |
| id | 447ef14f-5ab2-4a69-af46-cf4331f45967 |
| min_disk | |
| min_ram | |
| name | cirros |
| owner | 7340dd86a8b14e73ac36b6d6385c689c |
| protected | False |
| size | |
| status | active |
| tags | [] |
| updated_at | --26T02::15Z |
| virtual_size | None |
| visibility | public |
+------------------+--------------------------------------+

查看上传镜像

[root@node1 ~]# glance image-list
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| 447ef14f-5ab2-4a69-af46-cf4331f45967 | cirros |
+--------------------------------------+--------+
[root@node1 ~]# cd /var/lib/glance/images/
[root@node1 images]# ls
447ef14f-5ab2-4a69-af46-cf4331f45967 (和image-list中的id一致)

OpenStack实践系列③镜像服务Glance的更多相关文章

  1. OpenStack实践系列④计算服务Nova

    OpenStack实践系列④计算服务Nova 3.6 Nova控制节点的部署创建服务的凭证,完成下列步骤: 创建nova用户,并加入到service项目中,赋予admin权限 [root@node1 ...

  2. OpenStack实践系列⑧可视化服务Horizon之Dashboard演示

    OpenStack实践系列⑧可视化服务Horizon之Dashboard演示 七.可视化服务Horizon之Dashboard演示 仪表板依赖于功能核心服务,包括身份,图像服务,计算和网络两种(neu ...

  3. OpenStack实践系列⑤网络服务Neutron

    OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...

  4. OpenStack实践系列⑨云硬盘服务Cinder

    OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统), ...

  5. Centos7 install Openstack - (第三节)添加镜像服务(Glance)

    Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...

  6. 【openstack N版】——镜像服务glance

    一.openstack镜像服务glance 1.1 glance介绍 glance主要是由三部分组成 glance-api:接收云系统镜像的创建,删除,读取请求,类似nova-api,通过其他模块(g ...

  7. [ Openstack ] OpenStack-Mitaka 高可用之 镜像服务(glance)

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  8. 云计算管理平台之OpenStack镜像服务glance

    一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...

  9. 探索 OpenStack 之(10):深入镜像服务Glance

    本篇博文来探讨下镜像服务Glance. 0.  基本概念 0.1 基本功能 Glance提供REST API来支持以下镜像操作: 查询 注册 上传 获取 删除 访问权限管理 0.2 Glance RE ...

随机推荐

  1. Debugger for chrome

    Debugger In VScode Getting Started Install the extension Debugger for chrome Config the launch.json ...

  2. Github 开源项目(二)gorun (go语言工具)

    gorun是一个工具,可以在Go程序的源代码中放置“爆炸线”来运行它,或者明确运行这样的源代码文件. 它的创建旨在试图让Go更加吸引那些习惯于Python和类似语言的人们,他们使用源代码进行最明显的操 ...

  3. Docker 从入门到放弃(二)容器使用

    Docker 容器使用 一.Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. root@iZ235mi4a64Z ...

  4. 040、Docker managed volume(2019-03-01 周五)

    参考https://www.cnblogs.com/CloudMan6/p/7152775.html   docker managed volume 与bind mount 在使用上最大的区别是不需要 ...

  5. GreenDao 直接执行SQL的方法

    try { DaoSession session=MyApplication.getInstances().getDaoSession(); long fromId=-1; String strSql ...

  6. Groovy 设计模式 -- proxy & delegate

    Proxy https://en.m.wikipedia.org/wiki/Proxy 代理人 与 被代理人 是 一对一的关系. A proxy is an agent or substitute a ...

  7. 代码管理工具:使用github和git工具管理自己的代码

    一.git工具和账户创建 1.1 安装 Git 是 Linus Torvalds 最近实现的源代码管理软件."Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系 ...

  8. Node 体验 事件驱动、非阻塞式 I/O

    https://github.com/nswbmw/N-blog/blob/master/book/2.1%20require.md 全局对象和浏览器中的window类似 1.console.log( ...

  9. 【核心】project(idea文件)、module(iml文件)到SSM集成、热部署、Tomcat启动、MAVEN依赖冲突

    http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/project-composition-introduce.html 在 Inte ...

  10. Debian Security Advisory(Debian安全报告) DSA-4415-1 passenger security update

    Debian Security Advisory(Debian安全报告) DSA-4415-1  passenger security update Package : passenger CVE I ...