Glance for Train
在Controller节点
1、创建glance数据库
- 这步要为glance数据库创建一个密码
- 把GLANCE_DBPASS替换为数据库glance的密码
[root@controller ~]# mysql -u root -p
Enter password:
Your MariaDB connection id is 28
Server version: 10.3.20-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
-> IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.003 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
-> IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> exit
Bye
2、获取admin用户的CLI命令权限
[root@controller ~]# source admin-openrc
3、创建服务凭证
- 创建一个叫glance的用户
这步要为glance用创建一个密码
[root@controller ~]# openstack user create --domain default \
--password-prompt glance
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 026ea31727f24a759e5e9e0509caed2d |
| name | glance |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
- 将glance用户、service项目、admin角色绑定
service这个项目是在keystone安装后创建的
[root@controller ~]# openstack role add --project service --user glance admin
- 创建glance服务实体
[root@controller ~]# openstack service create --name glance \
--description "OpenStack Image" image
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Image |
| enabled | True |
| id | 9fb915f2173a44658f2a20b310cc4ff9 |
| name | glance |
| type | image |
+-------------+----------------------------------+
4、创建API endpoints
[root@controller ~]# openstack endpoint create --region RegionOne \
image public http://controller:9292
[root@controller ~]# openstack endpoint create --region RegionOne \
image internal http://controller:9292
[root@controller ~]# openstack endpoint create --region RegionOne \
image admin http://controller:9292
查看OpenStack服务目录,Image服务已安装:
[root@controller ~]# openstack catalog list
+----------+----------+----------------------------------------+
| Name | Type | Endpoints |
+----------+----------+----------------------------------------+
| glance | image | RegionOne |
| | | internal: http://controller:9292 |
| | | RegionOne |
| | | public: http://controller:9292 |
| | | RegionOne |
| | | admin: http://controller:9292 |
| | | |
| keystone | identity | RegionOne |
| | | public: http://controller:5000/v3/ |
| | | RegionOne |
| | | internal: http://controller:5000/v3/ |
| | | RegionOne |
| | | admin: http://controller:5000/v3/ |
| | | |
+----------+----------+----------------------------------------+
5、安装和配置组件
- 安装包
[root@controller ~]# yum install openstack-glance -y
- 修改配置文件
- 把GLANCE_DBPASS替换成glance数据库的密码。
- 配置image服务的镜像存储在本地文件系统。
- 把GLANCE_PASS替换为glance用户的密码。
- 主机名controller可被解析。
- 注释掉[keystone_authtoken]中其他生效行。
[root@controller ~]# vim /etc/glance/glance-api.conf
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images
[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 = GLANCE_PASS
[paste_deploy]
flavor = keystone
- 初始化glance数据库
[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
- 启动服务
[root@controller ~]# systemctl enable --now openstack-glance-api.service
[root@controller ~]# systemctl status openstack-glance-api.service
验证Glance
在Controller节点
需要用到一个Cirros镜像,在这里可以找到你想要的版本:
http://download.cirros-cloud.net/0.4.0/
1、获取admin用户CLI命令权限
[root@controller ~]# source admin-openrc
2、下载一个Cirros镜像
也可以下别的版本,替换下载链接:
[root@controller ~]# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
3、用glance组件的CLI创建一个镜像
[root@controller ~]# glance image-create --name "cirros" \
--file cirros-0.4.0-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--visibility public
4、查看创建的image文件
[root@controller ~]# glance image-list
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| 335e26da-bf19-454c-aad3-34e8ae897202 | cirros |
+--------------------------------------+--------+