标签(空测试用例格分隔):OpenStack Train 系列


一:glances 服务组件

1.1 glances 介绍

OpenStack 镜像服务就是 Glance,可以让用户上传、导出、修改、删除虚拟机镜像。另外,openstack 镜像服务支持将镜像文件存储在各种类型的存储

中,如本地文件系统、Openstack 对象存储服务 swift、ceph 等分布式存储中。

OpenStack 镜像服务包括 glance-api、glance-registry 两个子服务。glance-api 对外提供通信接口,与其他服务交互;glance-registry 用于管理存储在硬

盘或 glance 数据库中的对象。

修改好配置后需要重启 openstack-glance-api.service 或 openstack-glance-registry.service

1.2 glances 组件配置

1.2.1 glances 控制节点配置

1、登录数据库创建 glance 数据库
MariaDB [(none)]> CREATE DATABASE glance default character set utf8;
创建并授予 glance 用户完全操作 glance 库权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'openstack';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';
2、创建用户和 API 服务端点
# source /etc/keystone/admin-openrc.sh
创建 glance 用户,密码设置为:openstack2022
# openstack user create --domain default --password openstack2022 glance
将 glance 加入到 service 项目以及 admin 角色
# openstack role add --project service --user glance admin
创建 glance 服务实体
openstack service create --name glance --description "OpenStack Image" image
创建 Glance API 服务端点
# 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

OpenStack Train(五):业务组件装 glances安装_虚拟化OpenStack Train(五):业务组件装 glances安装_openstack_02OpenStack Train(五):业务组件装 glances安装_glances_03

1.2.2 安装openstack glances 服务

# yum -y install openstack-glance
修改/etc/glance/glance-api.conf
# cd /etc/glance/ && mv glance-api.conf glance-api.conf.source && cat glance-api.conf.source |grep -Ev "^#|^$" > glance-api.conf && chown root:glance glance-api.conf

OpenStack Train(五):业务组件装 glances安装_glances_04OpenStack Train(五):业务组件装 glances安装_虚拟化_05

# vi /etc/glance/glance-api.conf
[DEFAULT]部分,增加 rabbitmq 配置
[DEFAULT]
show_image_direct_url = True
transport_url = rabbit://openstack:openstack@controller
[database]部分中,配置数据库访问。
[database]
connection = mysql+pymysql://glance:openstack@controller/glance
[keystone_authtoken][paste_deploy]部分中,配置身份认证服务
[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 = openstack2022
[paste_deploy]
flavor = keystone
在该[glance_store]部分,配置镜像使用哪种存储来存储镜像,默认使用文件系统存储,路径为 /var/lib/glance/images/。也支持 swift、ceph、GlusterFS
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

OpenStack Train(五):业务组件装 glances安装_glances_06OpenStack Train(五):业务组件装 glances安装_openstack_07

修改/etc/glance/glance-registry.conf
# cd /etc/glance/ && mv glance-registry.conf glance-registry.conf.source && cat glance-registry.conf.source |grep -Ev "^#|^$" > glance-registry.conf && chown root:glance glance-registry.conf
# vi /etc/glance/glance-registry.conf
在该[database]部分中,配置数据库访问。
[database]
connection = mysql+pymysql://glance:openstack@controller/glance
[keystone_authtoken][paste_deploy]部分中,配置身份服务访问。
[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 = openstack2022
[paste_deploy]
flavor = keystone

OpenStack Train(五):业务组件装 glances安装_openstack_08OpenStack Train(五):业务组件装 glances安装_glances_09

4、同步 Glance 数据库
su -s /bin/sh -c "glance-manage db_sync" glance
5、启动 Glance 服务并设置成开机自启动
# systemctl enable openstack-glance-api.service openstack-glance-registry.service && systemctl start openstack-glance-api.service openstack-glance-registry.service
6、验证 Glance 服务
# source /etc/keystone/admin-openrc.sh
下载测试镜像 cirros 上传到 Glance
# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
使用本地 yum 源下载地址
# wget http://yum.ops/yumrepos/cirros-0.4.0-x86_64-disk.img
说明:cirros 是一个裁剪过的镜像,用于 Openstack 故障检测和测试。

OpenStack Train(五):业务组件装 glances安装_glances_10OpenStack Train(五):业务组件装 glances安装_虚拟化_11OpenStack Train(五):业务组件装 glances安装_虚拟化_12

上传镜像到 glance。 # 
openstack image create "cirros-0.4.0-x86_64" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public
上传的镜像分私有镜像和公有镜像。私有镜像只有上传者才拥有权限使用;如果要设置成公有镜像,则只需要加上--public 参数即可。
确认上传的镜像和属性。
# openstack image list

# glance image-list
# openstack image show ${image_id}

# glance image-show ${image_id}
设置镜像为公有镜像
# openstack image set cirros-0.4.0-x86_64 --public
删除镜像
# openstack image delete ${image_name}

OpenStack Train(五):业务组件装 glances安装_虚拟化_13OpenStack Train(五):业务组件装 glances安装_glances_14OpenStack Train(五):业务组件装 glances安装_虚拟化_15