#!/bin/bash #声明解释器路径
source /etc/xiandian/openrc.sh #生效环境变量
source /etc/keystone/admin-openrc.sh #生效admin用户脚本
#glance mysqlmysql -uroot -p$DB_PASS -e "create database IF NOT EXISTS glance ;" #登录MySQL数据库,创建glance数据库
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '$GLANCE_DBPASS' ;" #登录MySQL数据库,创建数据库用户glance,授权glance用户拥有从本地访问glance数据库的所有权限,并设置数据库用户glance的密码
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '$GLANCE_DBPASS' ;" #登录MySQL数据库,创建数据库用户glance,授权glance用户拥有从远程访问glance数据库的所有权限,并设置数据库用户glance的密码
#glance user role service endpoint openstack user create --domain $DOMAIN_NAME --password $GLANCE_PASS glance #创建glance用户
openstack role add --project service --user glance admin #将admin权限赋予 glance用户
openstack service create --name glance --description "OpenStack Image" image #创建glance 镜像的服务
openstack endpoint create --region RegionOne image public http://$HOST_NAME:9292 #创建glance 镜像服务组件的 外部通讯 API endpoint
openstack endpoint create --region RegionOne image internal http://$HOST_NAME:9292 #创建glance 镜像服务组件的 内部通讯 API endpoint
openstack endpoint create --region RegionOne image admin http://$HOST_NAME:9292 #创建glance 镜像服务组件的 管理员通讯 API endpoint
#glance install
yum install -y openstack-glance #安装glance服务软件包
#/etc/glance/glance-api.conf
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:$GLANCE_DBPASS@$HOST_NAME/glance #配置数据库连接
#编辑/etc/glance/glance-api.conf文件中的[keystone_authtoken]和[paste_deploy]小节,配置keystone 身份认证服务组件访问的urlcrudini --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://$HOST_NAME:5000 # 设置普通用户访问端点
crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://$HOST_NAME:5000 # 设置管理员访问端点
crudini --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers $HOST_NAME:11211 # 设置缓存服务访问端点
crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_type password # 设置认证类型为密码
crudini --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name $DOMAIN_NAME # 设置租户域名
crudini --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name $DOMAIN_NAME # 设置用户域名
crudini --set /etc/glance/glance-api.conf keystone_authtoken project_name service # 设置租户名
crudini --set /etc/glance/glance-api.conf keystone_authtoken username glance # 设置用户名
crudini --set /etc/glance/glance-api.conf keystone_authtoken password $GLANCE_PASS # 设置密码
crudini --set /etc/glance/glance-api.conf paste_deploy flavor keystone
crudini --set /etc/glance/glance-api.conf glance_store stores file,http #配置虚拟机镜像存储的方式
crudini --set /etc/glance/glance-api.conf glance_store default_store file #配置虚拟机镜像存储的形式
crudini --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/ #配置虚拟机镜像存储的路径
#/etc/glance/glance-registry.confcrudini --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:$GLANCE_DBPASS@$HOST_NAME/glance crudini --set /etc/glance/glance-registry.conf keystone_authtoken auth_uri http://$HOST_NAME:5000
crudini --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://$HOST_NAME:5000
crudini --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers $HOST_NAME:11211
crudini --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
crudini --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name $DOMAIN_NAME
crudini --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name $DOMAIN_NAME
crudini --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
crudini --set /etc/glance/glance-registry.conf keystone_authtoken username glance
crudini --set /etc/glance/glance-registry.conf keystone_authtoken password $GLANCE_PASS
crudini --set /etc/glance/glance-registry.conf paste_deploy flavor keystone#/etc/glance/glance-registry.conf文件的配置参考上面的/etc/glance/glance-api.conf
#su glance mysql
su -s /bin/sh -c "glance-manage db_sync" glance #将glance镜像服务信息同步到glance数据库
#start glance servicesystemctl enable openstack-glance-api.service openstack-glance-registry.service #设置glance服务开机自启
systemctl start openstack-glance-api.service openstack-glance-registry.service #重启glance服务
Glance-api:接收REST API的请求,然后通过其他模块来完成诸如镜像的查找、获取、上传、删除等操作。
Glance-registry:用于与MariaDB数据库交互,用于存储或获取镜像的元数据(metadata)。