Openstack_O版(otaka)部署_镜像服务glance部署

安装和配置服务

1. 建库建用户

mysql -u root -p

CREATE DATABASE glance;

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '';

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '';

flush privileges;

2. keystone认证操作

上面提到过:所有后续项目的部署都统一放到一个租户service里,然后需要为每个项目建立用户,建管理员角色,建立关联

. admin-openrc # 修改环境变量获取token

openstack 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. 安装软件

 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_namespaces

connection = mysql+pymysql://glance:123456@controller01/glance

[keystone_authtoken]

auth_url = http://controller01:5000

memcached_servers = controller01:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = glance

password = 123456

[paste_deploy]

flavor = keystone

[glance_store]

stores = file,http

default_store = file

filesystem_store_datadir = /var/lib/glance/images/ 

vim /etc/glance/glance-registry.conf

[database]

#这里的数据库配置是用来glance-registry检索镜像元数据

connection = mysql+pymysql://glance:123456@controller01/glance

6. 同步数据库

此处会报一些关于future的问题,自行忽略

 su -s /bin/sh -c "glance-manage db_sync" glance

7. 启动服务

 systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl start openstack-glance-api.service openstack-glance-registry.service

验证操作

. admin-openrc

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

+------------------+------------------------------------------------------+
| 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

上一篇:Django 中 form 介绍


下一篇:Object Relational Mapping(ORM)