glance系列二:glance部署及操作
阅读目录
一 简单架构图示参考
二 部署glance
三 验证
一 简单架构图示参考
二 部署glance
创建脚本
为了不写一长串的用户信息,可以把他们定义成脚本的方式
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=774148
export OS_AUTH_URL=http://192.168.207.128:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
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=774148
export OS_AUTH_URL=http://192.168.207.128:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
针对不同的业务应该有不同的用户信息,也都应该定义成脚本形式,方便管理
我们的申请token操作简化成
source admin-openrc
针对不同的业务应该有不同的用户信息,也都应该定义成脚本形式,方便管理
我们的申请token操作简化成
source admin-openrc
openstack token issue
yum install memcached python-memcached
systemctl enable memcached.service
systemctl start memcached.service
step 1:glance关于数据库的操作
mysql -u root -p #登入数据库
CREATE DATABASE glance; #新建库keystone
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY '123'; #新建本地访问glance库的账号
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY '123'; #新建远程访问glance库的账号
step 2:glance关于keystone的操作
soure admin-openrc #执行管理员脚本
#为glance的使用者创建用户
openstack user create --domain default --password-prompt glance
#对glance-service添加role角色,提示:用户glance只有在一个确定的项目service内才有角色的概念,单独的用户或者单独的项目都是无法绑定角色的。
openstack role add --project service --user glance admin
#创建glance服务的catalog:service+endpoint
openstack service create --name glance \
--description "OpenStack Image" image
openstack endpoint create --region RegionOne \
image public http://192.168.207.128:9292
openstack endpoint create --region RegionOne \
image internal http://192.168.207.128:9292
openstack endpoint create --region RegionOne \
image admin http://192.168.207.128:9292
step 3:安装软件包
yum -y install openstack-glance
step 4:配置/etc/glance/glance.conf
大前提:每一条配置都应该新增到文件中,一定不要打开注释在原有的基础上修改。
创建本地存储:
1.一定要在opesntack-glance-api.service服务启动之前部署好存储设备,因为该服务在启动时会加载存储驱动检索存储设备,如果事先不存在,就意味着该服务没有识别到任何可用的存储设备,即便是后来你又新增了存储,仍然是无效的,最终导致你上传镜像失败;
2.一定要赋予opesntack-glance-api.service服务对存储设备的可写权限。
mkdir /var/lib/glance/images
chown -R glance.glance /var/lib/glance/images
配置/etc/glance/glance-api.conf
复制代码
[database]
connection = mysql+pymysql://glance:123@192.168.207.128/glance
[keystone_authtoken]
auth_uri = http://192.168.207.128:5000
auth_url = http://192.168.207.128:35357
memcached_servers = 192.168.207.128:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 123
[paste_deploy]
flavor = keystone
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
mkdir -p /var/lib/glance/images/
chown -R glance.glance /var/lib/glance/images/
配置/etc/glance/glance-registry.conf
[database]
connection = mysql+pymysql://glance:123@192.168.207.128/glance
glance-registry不认证数据库 不用写
keystone_authtoken、paste_deploy
step 5: 初始化数据库glance
su -s /bin/sh -c "glance-manage db_sync" glance
'''
忽略以下打印,此乃正常性行为:
Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future.
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1171:...... oslo_db.sqlalchemy.enginefacade
...... a future release.")
result = self._query(query)
'''
step 6:启动glance且设置开机启动
systemctl enable openstack-glance-api.service \
openstack-glance-registry.service
systemctl start openstack-glance-api.service \
openstack-glance-registry.service
三 验证
source admin-openrc
#如果没有wget则必须yum -y install wget
wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
openstack image create "cirros" \
--file cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
openstack image list