Q版 glance安装
前言
身份认证服务部署完毕之后,部署glance映像服务,映像服务可以帮助用户发现、注册、检索虚拟机映像,就是说启动实例的镜像是放在这里的。默认情况下,该目录为/var/lib/glance/images/。
一、简介
OpenStack映像服务对于基础架构即服务(IaaS)至关重要。它接受来自磁盘或服务器映像的API请求,以及来自最终用户或OpenStack Compute组件的元数据定义。它还支持在各种存储库类型(包括OpenStack对象存储)上存储磁盘或服务器映像。
简单来说就是glance映像服务,他可以帮助用户发现、注册、检索虚机的映像,就像是我们虚拟机的镜像文件都是放在这里的。
glance映像服务组件:
- glance-api ,通过访问api来发现、检索、存储镜像;
- glance-registry ,存储glance中上传镜像的元数据;
PS: 什么是元数据?就是你上传的镜像是什么操作系统啊?镜像有多大啊?是什么模式啊?(raw/qcow2)
- Database 元数据,映像元数据信息是存储在数据库中的,就是在我们的mariadb中;
- Storage repository for image files 元数据存储库,元数据存储的时候还会有一个库,支持各种存储库类型,包括普通文件系统
- Metadata definition service 元数据定义符,映像的元数据,定义那个厂商、卷、特点等数据;
二、安装
在安装和配置Image服务之前,还是先创建数据库,然后创建服务凭证和API端点。
1、前提条件
创建数据库并授予对glance数据库的适当访问权限:
mysql -uroot -pXylong_000
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123';
切换到特权用户环境,创建用户、添加入项目:
source admin-openrc
openstack user create --domain default --password-prompt glance
openstack role add --project service --user glance admin
创建glance服务类型是image:
openstack service create --name glance --description "OpenStack Image" image
创建图像服务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
2、安装和配置
yum install openstack-glance
修改配置文件
glance-api.conf
vim /etc/glance/glance-api.conf
一开始还是指定mysql数据库,
[database]
connection = mysql+pymysql://glance:123@controller/glance
接着是glance找keystone需要做验证,指定keystone的api去找他进行验证,还有指定memcache的地址,指定验证方式为password 密码验证方式,指定项目和用户的域都是default,指定项目名字、用户的名字、用户密码。
[keystone_authtoken]
auth_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 = 123
这里是指定使用的风格,我们使用keystone
[paste_deploy]
flavor = keystone
这里就比较重要了,指定存放镜像的位置,我们采用file文件的方式,这里还支持对象存储和块存储,
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
glance-registry.conf
registry是存放元数据的,它也是需要配置的
vim /etc/glance/glance-registry.conf
还是配置mysql数据库
[database]
connection = mysql+pymysql://glance:123@controller/glance
然后是keystone验证方式,
[keystone_authtoken]
auth_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 = 123
然后使用的验证方式还是keystone,
[paste_deploy]
flavor = keystone
初始化数据库:
su -s /bin/sh -c "glance-manage db_sync" glance
验证:
mysql -uroot -pXylong_000
use glance
show tables;
设置开机自启并启动服务
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl start openstack-glance-api.service openstack-glance-registry.service
3、服务验证:
使用CirrOS(一个小型Linux映像,可帮助您测试OpenStack部署)验证Image Service的运行 。
在控制器节点上执行这些命令。
source admin-openrc
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
下载的镜像是13M大小,
openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public
openstack image list
总结:
到这里为止OpenStack中glance服务就部署完成了,而且也已经验证过了,glance服务提供的镜像服务还是非常重要的,因为你启动实例没有镜像那是不可以的,所以他是必须要部署的组件之一,
glance组件的命令是比较少的,工作中常用到的就三类命令:上传、查看、删除,这个是我的个人经验,
而且当我们部署好OpenStack环境之后,我们是需要根据需求来准备镜像的,在我的工作经历中我将KVM镜像上传过、将ISO镜像上传过,当然ISO镜像上传上去是没法直接使用的,你需要做一定的操作才可以的,这个操作过程我也编写成了一篇博客了。
glance是我们部署的第二个服务,接下来进行第三个服务的部署: