搭建Openstack环境以及Openstack认证服务
Openstack之glance镜像服务、nova计算服务
Openstack之neutron网络服务、 启动一个实例
Openstack之dashboard服务、云主机管理、cinder块存储服务
glance镜像服务
云主机由镜像启动,就像虚拟机一样
OpenStack镜像服务包括以下组件:
- glance-api
接收镜像API的调用,诸如镜像发现、恢复、存储。- glance-registry
用来连接数据库
存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
glance-registry是私有内部服务,用于服务OpenStack Image服务。不要向用户暴露该服务
数据库
- 存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
(镜像不在数据库,镜像的元数据信息在数据库;镜像放在外部存储,存储路径放在数据库)- 镜像文件的存储仓库
支持多种类型的仓库,它们有普通文件系统、对象存储、RADOS块设备、HTTP、以及亚马逊S3。记住,其中一些仓库仅支持只读方式使用。- 元数据定义服务
通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。
外部不管通过web还是命令行,首先连接API,然后通过glance-registry访问数据库拿到元数据,再回到镜像存储的地方取镜像
安装和配置
1. 创建glance数据库并授权
用数据库连接客户端以 root 用户连接到数据库服务器
[root@controller ~]# mysql -p
创建 glance 数据库
MariaDB [(none)]> CREATE DATABASE glance;
对glance
数据库授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
[root@controller ~]# mysql -uglance -pglance glance
MariaDB [glance]>
2.以admin用户身份执行
[root@controller ~]# . admin-openrc
3. 创建服务证书
创建 glance 用户
#只是用于管控glance服务的
[root@controller ~]# openstack user create --domain default --password glance glance
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | 2cc353d733a74c629c0c7db9327e540a |
| enabled | True |
| id | c1cff3dcc7064ff0bb0b33c3b61aba50 |
| name | glance |
+-----------+----------------------------------+
添加 admin 角色到 glance 用户和 service 项目上
[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 | 8e15f2287531415bb8451fd9d039dd3d |
| name | glance |
| type | image |
+-------------+----------------------------------+
4. 创建镜像服务的 API 端点
[root@controller ~]# openstack endpoint create --region RegionOne image public http://controller:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 37054423cc4244b1af7f425ec9ef2964 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8e15f2287531415bb8451fd9d039dd3d |
| service_name | glance |
| service_type | image |
| url | http://controller:9292 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne image internal http://controller:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | dd890f41b5824540aff2681628f268ea |
| interface | internal |
| reg