分享

openstack【juno】入门 【glance 篇】十一:glance安装配置

pig2 发表于 2015-1-30 15:31:50 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 19 144264
问题导读

1.如何创建glance用户?
2.安装glance,需要做哪些准备?
3.如何验证glance数据库同步成功?
4.修改配置文件的过程中,有哪些需要注意的地方?
5.nano编辑器如何使用?







接上一篇
openstack【juno】入门 【glance 篇】十:glance初步介绍

这一篇描述了glance安装与配置,安装在控制节点,为了简单起见,配置存储镜像在本地文件系统

注意:1.这里使用的nano编辑器,对于这个编辑器很方便,如果想查找某个内容,使用Ctrl+W即可。更详细参考
Ubuntu使用nano文本编辑器
2.在修改配置文件过程中,切记标记重复,例如[database]、[defaule]等

配置前准备

1.创建数据库
2.服务认证
3.API endpoints

1.创建数据库

a.进入数据库,并输入密码:
  1. mysql -u root -p
复制代码



1.png


b.创建glance数据库

  1. CREATE DATABASE glance;
复制代码
2.png


c.授权glance数据库,使得本地及远程都能访问

  1. GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
  2.   IDENTIFIED BY 'GLANCE_DBPASS';
复制代码

  1. GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
  2.   IDENTIFIED BY 'GLANCE_DBPASS';
复制代码
(GLANCE_DBPASS上面密码可以自定义)

3.png


d.退出mysql
4.png

2.环境变量生效

  1. source admin-openrc.sh
复制代码


如果这里不明白,可以查看此篇openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本

3.创建glance(凭据)用户

a.创建glance用户
  1. keystone user-create --name glance --pass GLANCE_PASS
复制代码

5.png


b.给glance用户授予admin role(角色)
  1. keystone user-role-add --user glance --tenant service --role admin
复制代码
注意这条命令没有任何输出
6.png

c.创建  glance service 实例:


  1. keystone service-create --name glance --type image \
  2.   --description "OpenStack Image Service"
复制代码




7.png

4.创建   Image 服务 API endpoints:

  1. keystone endpoint-create \
  2.   --service-id $(keystone service-list | awk '/ image / {print $2}') \
  3.   --publicurl http://controller:9292 \
  4.   --internalurl http://controller:9292 \
  5.   --adminurl http://controller:9292 \
  6.   --region regionOne
复制代码
8.png


安装配置镜像服务组件


1.安装
  1. apt-get install glance python-glanceclient
复制代码


9.png

2.修改配置文件
/etc/glance/glance-api.conf

  1. sudo nano  /etc/glance/glance-api.conf
复制代码

a.修改数据库连接(直接添加即可)
  1. [database]
  2. ...
  3. connection = mysql://glance:GLANCE_DBPASS@controller/glance
复制代码
说明:如果想查找某个内容,比如[database],使用nano快捷键即可查找

b.在 [keystone_authtoken] 和 [paste_deploy] 部分, 修改配置:
添加如下内容,切记不要keystone_authtoken标记重复
  1. [keystone_authtoken]
  2. ...
  3. auth_uri = http://controller:5000/v2.0
  4. identity_uri = http://controller:35357
  5. admin_tenant_name = service
  6. admin_user = glance
  7. admin_password = GLANCE_PASS
复制代码
注释掉下面内容
  1. #identity_uri = http://127.0.0.1:35357
  2. #admin_tenant_name = %SERVICE_TENANT_NAME%
  3. #admin_user = %SERVICE_USER%
  4. #admin_password = %SERVICE_PASSWORD%
复制代码
11.png


修改flavor

  1. [paste_deploy]
  2. ...
  3. flavor = keystone
复制代码


c.修改 [glance_store] 部分,配置本地文件存储及存储路径
  1. [glance_store]
  2. ...
  3. default_store = file
  4. filesystem_store_datadir = /var/lib/glance/images/
复制代码
10.png


d.在[DEFAULT]部分,配置 noop通知驱动
  1. [DEFAULT]
  2. ...
  3. notification_driver = noop
复制代码

遥测提供Image 服务配置

e.可选,帮助排除定位错误,使日志记录在[DEFAULT]部分

  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码
12.png


3.修改配置文件

a.修改 /etc/glance/glance-registry.conf 文件
  1. sudo nano  /etc/glance/glance-registry.conf
复制代码
添加如下内容

  1. [database]
  2. ...
  3. connection = mysql://glance:GLANCE_DBPASS@controller/glance
复制代码
13.png

b.在 [keystone_authtoken] 和 [paste_deploy] 部分, 添加如下内容:

  1. [keystone_authtoken]
  2. ...
  3. auth_uri = http://controller:5000/v2.0
  4. identity_uri = http://controller:35357
  5. admin_tenant_name = service
  6. admin_user = glance
  7. admin_password = GLANCE_PASS
  8. [paste_deploy]
  9. ...
  10. flavor = keystone
复制代码


记得注释掉如下部分:
  1. #identity_uri = http://127.0.0.1:35357
  2. #admin_tenant_name = %SERVICE_TENANT_NAME%
  3. #admin_user = %SERVICE_USER%
  4. #admin_password = %SERVICE_PASSWORD%
复制代码
14.png


c.在 [DEFAULT]部分,配置noop 通知驱动
  1. [DEFAULT]
  2. ...
  3. notification_driver = noop
复制代码


d.可选,帮助排除定位错误,使日志记录在[DEFAULT]部分

  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码




15.png


4.填充 the Image Service 数据库:
  1. su -s /bin/sh -c "glance-manage db_sync" glance
复制代码
这个如果输入密码不生效,最好切换至root用户来执行。

进入mysql

  1. mysql -uroot -p
复制代码

  1. use glance
复制代码
  1. show tables;
复制代码


展示如下:同步成功

验证glance.png


完成安装

1.重启服务
  1. service glance-registry restart
复制代码

  1. service glance-api restart
复制代码

16.png

2.可能ubuntu有安装的SQLite 数据库.如果有的话,可以使用下面命令移除
  1. rm -f /var/lib/glance/glance.sqlite
复制代码









相关内容:

openstack【juno】入门 【准备篇】零:整体介绍

openstack【juno】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)

openstack【juno】入门 【准备篇】二::NTP安装

openstack【juno】入门 【准备篇】三:mysql(MariaDB)安装

openstack【juno】入门 【准备篇】四::RabbitMQ 安装

openstack【juno】入门 【keystone篇】五::Keystone部署及介绍

openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法

openstack【juno】入门 【keystone篇】七:创建 service entity 和 API endpoint

openstack【juno】入门 【keystone篇】八:新手操作篇(验证操作篇)

openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本

openstack【juno】入门 【glance 篇】十:glance初步介绍

openstack【juno】入门 【glance 篇】十一:glance安装配置

openstack【juno】入门 【glance 篇】十二:glance安装配置验证及相关操作

openstack【juno】入门 【nova 篇】十三(1):nova简单介绍

openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务

openstack【juno】入门 【网络篇】十四:neutron介绍

openstack【juno】入门 【网络篇】十五:neutron安装部署(控制节点)

openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)

openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)

openstack【juno】入门 【网络篇】十八:创建实例化网络

openstack【juno】入门 【dashboard篇】十九:添加dashboard

openstack【juno】入门 【cinder篇】二十:cinder介绍及安装配置【控制节点】

openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)

openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】

openstack【juno】入门 【swift篇】二十三:安装配置swift节点

openstack【juno】入门 【swift篇】二十四:创建初始rings

openstack【juno】入门 【swift篇】二十五:验证安装(控制节点)

openstack【juno】入门 【实例篇】二十六:创建实例(neutron)

openstack【juno】入门 【总结篇】二十七:openstack排除故障及常见问题记录

openstack【juno】入门 【总结篇】二十八:keystone及网络总结







已有(19)人评论

跳转到指定楼层
cappuccino 发表于 2015-3-6 23:03:30
root@ubuntu:/home/zero# keystone user-create --name glance --pass GLANCE_PASS
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | e0fcce66ac2147c0b4074b91629b602b |
|   name   |              glance              |
| username |              glance              |
+----------+----------------------------------+

请教,这里多出来一个警告(后面几步都有相同警告),不知道有没有影响?
回复

使用道具 举报

pig2 发表于 2015-3-6 23:17:17
cappuccino 发表于 2015-3-6 23:03
root@ubuntu:/home/zero# keystone user-create --name glance --pass GLANCE_PASS
WARNING: Bypassing au ...

这个是因为keystone这步出问题了。
可能是因为没有执行这步
  1. keystone tenant-create --name service --description "Service Tenant"
复制代码


参考这篇:
openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法
可以验证下,是否所有的命令,都执行了。

回复

使用道具 举报

sec 发表于 2015-4-3 15:17:40
你好 pig2
在一直看你的文档,在进行到 4.填充 the Image Service 数据库:
su -s /bin/sh -c "glance-manage db_sync" glance 的时候一直报错误。

root@controller:/etc# su -s /etc -c "glance-manage db_sync" glance
/etc: /etc: is a directory
root@controller:/etc# su -s /bin/sh -c "glance-manage db_sync" glance
Traceback (most recent call last):
  File "/usr/bin/glance-manage", line 10, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/dist-packages/glance/cmd/manage.py", line 272, in main
    usage="%(prog)s [options] <cmd>")
  File "/usr/lib/python2.7/dist-packages/glance/common/config.py", line 163, in parse_args
    default_config_files=default_config_files)
  File "/usr/lib/python2.7/dist-packages/oslo/config/cfg.py", line 1681, in __call__
    else sys.argv[1:])
  File "/usr/lib/python2.7/dist-packages/oslo/config/cfg.py", line 2227, in _parse_cli_opts
    return self._parse_config_files()
  File "/usr/lib/python2.7/dist-packages/oslo/config/cfg.py", line 2241, in _parse_config_files
    ConfigParser._parse_file(config_file, namespace)
  File "/usr/lib/python2.7/dist-packages/oslo/config/cfg.py", line 1303, in _parse_file
    raise ConfigFileParseError(pe.filename, str(pe))
oslo.config.cfg.ConfigFileParseError: Failed to parse /etc/glance/glance-api.conf: at /etc/glance/glance-api.conf:3, Unexpected continuation line: ' verbose = True'

----------------------------------------------------------------------------------------------
root@controller:/etc# vim /etc/glance/glance-api.conf

[DEFAULT]
# Show more verbose log output (sets INFO log level output)
verbose = True


# Show debugging output in logs (sets DEBUG log level output)
#debug = False
回复

使用道具 举报

langke93 发表于 2015-4-3 16:54:20
sec 发表于 2015-4-3 15:17
你好 pig2
在一直看你的文档,在进行到 4.填充 the Image Service 数据库:
su -s /bin/sh -c "glance-man ...

贴出来的没有错,在检查下整体的配置
回复

使用道具 举报

sec 发表于 2015-4-3 17:45:25
langke93 发表于 2015-4-3 16:54
贴出来的没有错,在检查下整体的配置

你好,感谢你的回答,我们把配置坚持了一遍还是没有找到错误的地方。

你方便把你的配置发我一份吗


回复

使用道具 举报

langke93 发表于 2015-4-5 23:57:41
sec 发表于 2015-4-3 17:45
你好,感谢你的回答,我们把配置坚持了一遍还是没有找到错误的地方。

你方便把你的配置发我一份吗

glance.zip (11 KB, 下载次数: 56)
回复

使用道具 举报

sec 发表于 2015-4-8 14:59:23

感谢你的回复 多谢
回复

使用道具 举报

sckgeneral 发表于 2015-8-3 10:31:41
大家好。我正在安装kilo版本的openstack的glance,安装已经完成,我正在测试导入镜像,命令行执行如下错误
[root@Computer64 images]# glance image-create --name "cirros-0.3.4-x86_64" --file /tmp/images/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --is-public True --progress
[=============================>] 100%
Invalid OpenStack Identity credentials.

这是日志错误
2015-08-03 10:22:32.934 11771 WARNING keystonemiddleware.auth_token [-] Authorization failed for token
2015-08-03 10:22:33.000 11771 INFO eventlet.wsgi.server [-] 192.168.1.64 - - [03/Aug/2015 10:22:32] "POST /v1/images HTTP/1.1" 401 570 0.083665

请各位大牛,帮我看看。我一直在线,咱们一起讨论一下啊。谢谢了。
回复

使用道具 举报

Alkaloid0515 发表于 2015-8-3 10:34:06
sckgeneral 发表于 2015-8-3 10:31
大家好。我正在安装kilo版本的openstack的glance,安装已经完成,我正在测试导入镜像,命令行执行如下错误
...

openstack user list
能否显示成功
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条