接上两篇安装,上面已经完成了stein最小安装的控制、计算节点软件安装,数据库配置及keystone安装,如果你上面的步骤完全正确,通过openstack token issue进行验证,如果可以正常通过用户名密码获取token就说明安装成功了,要注意的是需要首先编辑好用户环境文件,要么将环境文件置为可执行,在执行openstack命令前先执行用户环境文件,要么通过source 环境文件来将用户认证信息导入环境变量,否则你在执行openstack命令时就要在命令行中写入认证url及用户名密码信息。
一、glance用户及服务在openstack中安装流程
1、在default域创建glance用户,密码glance
openstack user create --domain default --password-prompt glance
2、将admin的角色赋予glance用户让它可以访问service项目
openstack role add --project service --user glance admin
3、注册类型为image的glance项目
openstack service create --name glance --description "OpenStack Image" image
4、在service项目中添加glance服务的三个服务端点,这一步在后面的每个组件需要做
上面步骤有因果关系,必须按照步骤执行。
openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292
二、修改glance配置文件
glance对外进行组件间通信暴露的接口通过glance-api插件实现,其它openstack组件只与glance-api通信。
1、修改glance-api配置文件
vi /etc/glance/glance-api.conf
[database]
connection = mysql+pymysql://glance:glance@controller/glance
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance[paste_deploy]
flavor = keystone[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
2、修改glance-registry配置文件
vi /etc/glance/glance-registry.conf
[database]
connection = mysql+pymysql://glance:glance@controller/glance[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance[paste_deploy]
flavor = keystone
三、同步glance数据库表信息
su -s /bin/sh -c "glance-manage db_sync" glance
验证glance数据库表同步是否成功
mysql -u glance -pglance -e"use glance;show tables;"
如果看到下面内容就恭喜你,glance数据库表同步成功了,注意与keystone同步一样,一定要完整复制同步命令,不要直接执行glance-manage db_sync,因为权限问题会让你的数据库同步失败。
四、启动glance服务并将glance服务设置为开机自动启动
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl start openstack-glance-api.service openstack-glance-registry.service
五、下载镜像文件并上传到glance管理镜像验证glance安装效果
wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
这个镜像的用户名和密码,OpenStack测试非常喜欢使用的镜像,小于15M,但是下载起来由于众所周知的原因特别慢。。。
user:cirros
pass:cubswin:)
使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它:
$ openstack image create "cirros" \
--file cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
如果上一步出现了问题,有可能是使用了http_proxy,必须要unset http_proxy,否则即使source admin环境变量也会出现认证错误。
确认镜像的上传并验证属性:
$ openstack image list
ls -la /var/lib/glance/images/
因为上面在glance-api配置文件中glance保存位置在/var/lib/glance/images下,所以查看这个位置可以发现镜像的文件名就是镜像ID。
总结:
安装glance主要注意有两个组件需要单独配置,一个是glance-api,一个是glance-registry,这两个配置文件在数据库与keystone两个配置项下面的内容完全一样,区别是api下面需要写明glance镜像具体保存采用什么类型,本文为了方便直接以文件的形式保存在本地,项目中需要首先安装swift或ceph等对象存储后再配置glance保存位置。