上篇文章讲述了如何安装Identity service(Keystone),本文将继续讲解如何安装Glance(镜像服务)。
1. 首先先配置两个客户端脚本文件:admin-openrc and demo-openrc,方便后面执行openstack客户端命令程序
admin_openrc文件内容:
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://192.168.152.166:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
demo-openrc文件内容:
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://192.168.152.166:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
2. 登录MySQL服务器中,创建数据库glance,并授予适当的访问权限:
sudo mysql -u root -p
create database glance;
grant all privileges on glance.* to 'glance'@'localhost' identified by 'GLANCE_DBPASS';
grant all privileges on glance.* to 'glance'@'%' identified by 'GLANCE_DBPASS';
获取admin用户凭证来获取只有管理员能执行的命令的访问权限:
. admin-openrc
3. 创建glance服务证书
创建glance用户:
openstack user create --domain default --password-prompt glance
添加glance用户g到admin角色和service项目上:
openstack role add --project service --user glance admin
创建glance服务实体:
openstack service create --name glance \
--description "OpenStack Image" image
openstack endpoint create --region RegionOne \
image public http://192.168.152.166:9292
openstack endpoint create --region RegionOne \
image internal http://192.168.152.166:9292
openstack endpoint create --region RegionOne \
image admin http://192.168.152.166:9292
4. 安装并配置组件
sudo apt-get install glance
编辑配置文件/etc/glance/glance-api.conf:
在[database]部分,配置数据库访问
[database]
#...
connection = mysql+pymysql://glance:GLANCE_DBPASS@192.168.152.166/glance
在[keystone_authtoken]和[paste_deploy]部分,配置认证服务访问:
[keystone_authtoken]
# ...
auth_uri = http://192.168.152.166:5000
auth_url = http://192.168.152.166:35357
memcached_servers = 192.168.152.166:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS
[paste_deploy]
# ...
flavor = keystone
5. 初始化glance数据库
sudo su -s /bin/bash -c "glance-manage db_sync" glance
6. 重启服务
sudo service glance-registry restart
sudo service glance-api restart
7. 验证
获取admin用户凭证:
. admin-openrc
下载源镜像:
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
使用QCOW2c磁盘格式,bare容器格式上传镜像到镜像服务并设置为公共可见,这样所有项目都能访问它:
openstack image create "cirros" \
--file cirros-0.3.5-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
openstack image list
出现类似如下的输出结果即表明配置正确: