安装和配置服务
1. 建库建用户
mysql -u root -pCREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';flush privileges;
2. keystone认证操作
上面提到过:所有后续项目的部署都统一放到一个租户service里,然后需要为每个项目建立用户,建管理员角色,建立关联
. admin-openrc # 修改环境变量获取tokenopenstack user create --domain default --password-prompt glance+---------------------+----------------------------------+| Field | Value |+---------------------+----------------------------------+| domain_id | 135e691ebbb74fefb5086970eac74706 || enabled | True || id | e8febba19a724bc7b27e5f485f43104b || name | glance || options | {} || password_expires_at | None |+---------------------+----------------------------------+openstack role add --project service --user glance admin
建立服务实体
openstack service create --name glance --description "OpenStack Image" image+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | OpenStack Image || enabled | True || id | c1334a6d30644f399acb9a40f6d7dac5 || name | glance || type | image |+-------------+----------------------------------+
建端点
openstack endpoint create --region RegionOne image public http://controller01:9292+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 7c4e2a070c744518be0135fb34586ed4 || interface | public || region | RegionOne || region_id | RegionOne || service_id | c1334a6d30644f399acb9a40f6d7dac5 || service_name | glance || service_type | image || url | http://controller01:9292 |+--------------+----------------------------------+openstack endpoint create --region RegionOne image internal http://controller01:9292+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 397aba332c94483ebe36a0f31c9206fc || interface | internal || region | RegionOne || region_id | RegionOne || service_id | c1334a6d30644f399acb9a40f6d7dac5 || service_name | glance || service_type | image || url | http://controller01:9292 |+--------------+----------------------------------+openstack endpoint create --region RegionOne image admin http://controller01:9292+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | ffa5d536bb544d1f935efde4b29351db || interface | admin || region | RegionOne || region_id | RegionOne || service_id | c1334a6d30644f399acb9a40f6d7dac5 || service_name | glance || service_type | image || url | http://controller01:9292 |+--------------+----------------------------------+
3. 安装软件
1 yum install openstack-glance -y
4. 初始化存放镜像的存储设备
# 此处我们暂时用本地存储,但是无论哪种存储,都应该在glance启动前就已经有了,否则glance启动时通过驱动程序检索不到存储设备,# 即在glance启动后 新建的存储设备无法被glance识别到,需要重新启动glance才可以,因此我们将下面的步骤提到了最前面# 新建目录mkdir -p /var/lib/glance/images/chown glance. /var/lib/glance/images/
5. 修改配置
vim /etc/glance/glance-api.conf
[database]# 这里的数据库连接配置是用来初始化生成数据库表结构,不配置无法生成数据库表结构# glance-api不配置database对创建vm无影响,对使用metada有影响# 日志报错:ERROR glance.api.v2.metadef_namespacesconnection = mysql+pymysql://glance:123456@controller01/glance[keystone_authtoken]auth_url = http://controller01:5000memcached_servers = controller01:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = glancepassword = 123456[paste_deploy]flavor = keystone[glance_store]stores = file,httpdefault_store = filefilesystem_store_datadir = /var/lib/glance/images/
vim /etc/glance/glance-registry.conf
[database]#这里的数据库配置是用来glance-registry检索镜像元数据connection = mysql+pymysql://glance:123456@controller01/glance
6. 同步数据库
此处会报一些关于future的问题,自行忽略
1 su -s /bin/sh -c "glance-manage db_sync" glance
7. 启动服务
1 systemctl enable openstack-glance-api.service openstack-glance-registry.service2 systemctl start openstack-glance-api.service openstack-glance-registry.service
验证操作
. admin-openrcwget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.imgopenstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public+------------------+------------------------------------------------------+| Field | Value |+------------------+------------------------------------------------------+| checksum | ee1eca47dc88f4879d8a229cc70a07c6 || container_format | bare || created_at | 2018-02-02T03:15:25Z || disk_format | qcow2 || file | /v2/images/86308a40-c496-4ca5-b84e-d9c10ffc0656/file || id | 86308a40-c496-4ca5-b84e-d9c10ffc0656 || min_disk | 0 || min_ram | 0 || name | cirros || owner | a3f24ce750034504876c0132c427306e || protected | False || schema | /v2/schemas/image || size | 13287936 || status | active || tags | || updated_at | 2018-02-02T03:15:43Z || virtual_size | None || visibility | public |+------------------+------------------------------------------------------+openstack image list+--------------------------------------+--------+--------+| ID | Name | Status |+--------------------------------------+--------+--------+| 86308a40-c496-4ca5-b84e-d9c10ffc0656 | cirros | active |+--------------------------------------+--------+--------+
参考博客 http://blog.51cto.com/egon09/1839667