一、构建实验openstack-ImageServeice(glance):在controller节点安装并配置OpenStack镜像服务
### --- 配置先决条件
### --- 创建数据库
~~~     以数据库管理员root的身份登录数据库[root@controller ~]# mysql  -u root -pEnter password: 123456

~~~     创建glance数据库
MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.01 sec)~~~     创建数据库用户glance,并授予其对glance数据库的管理权限
~~~     退出数据库
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.00 sec)

### --- 启动admin环境脚本;启动管理员脚本[root@controller ~]# source admin-openrc.sh

### --- 创建认证服务凭证,完成下列步骤;
~~~     创建glance用户[root@controller ~]# keystone user-create --name glance --pass GLANCE_PASS
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | 8cdc5b5c70094cb79a819b26d8c94e40 |
|   name   |              glance              |
| username |              glance              |
+----------+----------------------------------+

~~~     将glance用户连接到service租户和admin角色[root@controller ~]# keystone user-role-add --user glance --tenant service --role admin

~~~     创建glance服务[root@controller ~]# keystone service-create --name glance --type image --description "OpenStack Image Service"
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |     OpenStack Image Service      |
|   enabled   |               True               |
|      id     | 659d6a3b0f0d441caa5c43de962434a7 |
|     name    |              glance              |
|     type    |              image               |
+-------------+----------------------------------+

### --- 为openstack镜像服务创建认证服务端点[root@controller ~]# keystone endpoint-create \
> --service-id $(keystone service-list | awk '/ image / {print$2}') \
> --publicurl http://controller.nice.com:9292 \
> --internalurl http://controller.nice.com:9292 \
> --adminurl http://controller.nice.com:9292 \
> --region regionOne
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  | http://controller.nice.com:9292  |
|      id     | 492b4495a59142399824f86be0001e52 |
| internalurl | http://controller.nice.com:9292  |
|  publicurl  | http://controller.nice.com:9292  |
|    region   |            regionOne             |
|  service_id | 659d6a3b0f0d441caa5c43de962434a7 |
+-------------+----------------------------------+

二、安装并配置镜像服务组件
### --- 安装软件包[root@controller ~]# yum install openstack-glance python-glaceclient
Installed:openstack-glance.noarch 0:2014.2-1.el7.centos
Dependency Installed:crudini.noarch 0:0.4-1.el7                                openstack-utils.noarch 0:2014.1-3.el7.centos.1               pysendfile.x86_64 0:2.0.0-5.el7                              python-boto.noarch 0:2.32.1-1.el7                         python-cinderclient.noarch 0:1.1.1-1.el7.centos              python-futures.noarch 0:2.1.6-1.el7                          python-glance.noarch 0:2014.2-1.el7.centos                python-glance-store.noarch 0:0.1.8-1.el7.centos              python-glanceclient.noarch 1:0.14.1-1.el7.centos             python-httplib2.noarch 0:0.7.7-3.el7                      python-ipaddr.noarch 0:2.1.9-5.el7                           python-jsonpatch.noarch 0:1.2-3.el7.centos                   python-jsonpointer.noarch 0:1.0-2.el7.centos              python-oslo-vmware.noarch 0:0.6.0-1.el7.centos               python-osprofiler.noarch 0:0.3.0-1.el7.centos                python-retrying.noarch 0:1.2.3-4.el7.centos               python-simplegeneric.noarch 0:0.8-7.el7                      python-simplejson.x86_64 0:3.3.3-1.el7                       python-suds.noarch 0:0.4.1-5.el7                          python-swiftclient.noarch 0:2.3.1-2.el7.centos               python-warlock.noarch 0:1.0.1-1.el7                          python-wsme.noarch 0:0.6-2.el7
Complete!

### --- 编辑/etc/glance/glance-api.conf文件,并完成下列操作[root@controller ~]# vim /etc/glance/glance-api.conf
# 修改[database]小节,配置数据库连接:
[database]
......
connection=mysql://glance:GLANCE_DBPASS@controller.nice.com/glance
# 修改[keystone_authtoken]和[paste_deploy]小节,配置认证服务访问:
[keystone_authtoken]
.....
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=glance
admin_password=GLANCE_PASS[paste_deploy]
......
flavor=keystone                                 # 设置认证类型为keystone
# (可选)在[DEFAULT]小节中配置详细日志输出,方便排错
[DEFAULT]
......
verbose=True                                    # 开启日志接口

### --- 编辑/etc/glance/glance-registry.con文件,并完成下列配置:和数据库交流的配置文件[root@controller ~]# vim /etc/glance/glance-registry.conf
# 在[database]
......
connection=mysql://glance:GLANCE_DBPASS@controller.nice.com/glance
# 在[keystone_authtoken]和[paste_deploy]小节中配置认证服务访问
[keystone_authtoken]
......
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=glance
admin_password=GLANCE_PASS[paste_deploy]
......
flavor=keystone
# 在[glance_store]小节中配置本地文件系统存储和镜像文件的存放路径
[glance_store]                                   # 这个存储默认是没有的,我们自己去创建,
default_store=file
filesystem_store_datadir=/var/lib/glance/images/ # 这个目录不需要手动创建,glance服务会帮我们创建
# (可选)在[DEFAULT]小节中配置详细日志输出,方便排错
[DEFAULT]
......
verbose=True                                     # 开启日志

### --- 初始化镜像服务的数据库[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance

### --- 登录到数据库中;查看是否创建成功[root@controller ~]# mysql -uroot -p
Enter password: 123456
MariaDB [(none)]> use glance
MariaDB [glance]> show tables;
+----------------------------------+
| Tables_in_glance                 |
+----------------------------------+
| image_locations                  |
| image_members                    |
| image_properties                 |
| image_tags                       |
| images                           |
| metadef_namespace_resource_types |
| metadef_namespaces               |
| metadef_objects                  |
| metadef_properties               |
| metadef_resource_types           |
| migrate_version                  |
| task_info                        |
| tasks                            |
+----------------------------------+

三、安装完成
### --- 启动镜像服务并设置开机自动启动:[root@controller ~]# systemctl enable openstack-glance-api.service openstack-glance-registry.service
[root@controller ~]# systemctl start openstack-glance-api.service openstack-glance-registry.service

四、验证安装
### --- 本节演示如何使用CirrOS验证镜像服务是否安装成功,CirrOS是一个小linux镜像,
~~~     可以帮你验证镜像服务
[root@controller ~]# yum install -y lrzsz### --- 创建一个临时目录
[root@controller ~]# mkdir /tmp/images                          // 此步不执行也可
[root@controller ~]# cd /tmp/images                             // 此步不执行也可

### --- 下载CirrOS镜像文件到临时目录
~~~     将测试镜像上传到controller:cirros-0.3.3-x86_64-disk.img[root@controller ~]# wget http://cdn.download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img(真实环境)
[root@controller ~]# wget ftp://ftp服务器ip/cirros-0.3.3-x86_64-disk.img(实验室环境)    // 或者直接通过rz命令上传

### --- 运行admin环境脚本,以便执行管理命令[root@controller ~]# source admin-openrc.sh

### --- 上传镜像文件到镜像服务器
~~~     glance image-create相关选项含义:
--name<NAME>                                    // 镜像名称:
--file<FILE>                                    // 要上传文件及路径
--disk-format<DISK_FORMAT>                      // 镜像的磁盘格式。可以支持:ami/ari/aki/bhd/vmdk/raw/qcow2/vdi/is格式
--container-format<CONTAINER_FORMAT>            // 镜像容器格式,可以支持ami/ari/aki/bare/ovf格式。
--is-public{True,False}                         // 镜像是否可以被公共访问
--progress:                                    // 显示上传进度[root@controller ~]# glance image-create --name "cirros-0.3.3-x86_64" --file cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare --is-public True --progress
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 133eae9fb1c98f45894a4e60d8736619     |
| container_format | bare                                 |
| created_at       | 2021-01-10T02:51:21                  |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 9254729e-15b4-4315-b396-3f3e2e5b339f |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros-0.3.3-x86_64                  |
| owner            | 7bce6e7e6d724ad188e4f70ad9d51e17     |
| protected        | False                                |
| size             | 13200896                             |
| status           | active                               |
| updated_at       | 2021-01-10T02:51:22                  |
| virtual_size     | None                                 |
+------------------+--------------------------------------+

### --- 确认镜像文件上传并验证属性
~~~     status状态为active状态,说明上传成功了;代表已经可用。[root@controller ~]# glance image-list
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| ID                                   | Name                | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| 9254729e-15b4-4315-b396-3f3e2e5b339f | cirros-0.3.3-x86_64 | qcow2       | bare             | 13200896 | active |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+

### --- 删除临时目录[root@controller ~]# rm -rf cirros-0.3.3-x86_64-disk.img

附录一:故障处理:
### --- 报错现象:
[root@controller ~]# glance image-create --name "cirros-0.3.3-x86_64" --file cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare --is-public True --progress
You must provide a username via either --os-username or env[OS_USERNAME]### --- 解决方案:
~~~     运行admin环境脚本,以便执行管理命令
[root@controller ~]# source admin-openrc.sh         // 运行环境变量脚本

CC00009.CloudOpenStack——|OpenStack组件.V02|——|openstack-glance|controller节点下部署glanc相关推荐

  1. CC00007.CloudOpenStack——|OpenStack组件.V02|——|openstack-keystone|controller节点下部署Key

    一.构建实验:IdentityService(keystone)在controller节点安装和配置认证服务(实验专题) ### --- (controller节点)keystone部署:基础环境配置 ...

  2. CC00024.CloudOpenStack——|OpenStack组件.V02|——|OpenStack-Cinder块存储|配置block.V2|

    一.安装并配置block1节点(在openstack-block1下配置) ### --- 安装并配置block1节点(在openstack-block1下配置)~~~ 配置先决条件 ~~~ 安装并配 ...

  3. Openstack组件实现原理 — Glance架构(V1/V2)

    目录 目录 Glance 安装列表 Glance Image service Image service 的组件 Glance-Api Glance-Registry Glance-db Image ...

  4. OpenStack组件部署之Glance

    Glance 一.Glance概述 1.1 镜像服务 1.2 Images API的版本 1.3 镜像格式 1.4 镜像格式 1.5 镜像状态 1.6 访问权限 1.7 架构图 1.8 工作流程 1. ...

  5. OpenStack(三)——Glance组件

    OpenStack(三)--Glance组件 一.Glance 镜像服务 1.镜像 2.镜像服务的主要功能 3.Image API 的版本 4.镜像格式 ①.虚拟机镜像文件磁盘格式 ②.镜像文件容器格 ...

  6. CC00006.CloudOpenStack——|OpenStack组件.V01|——|openstack-keystone|组件说明|

    一.组件构建: ### --- keystone存在的意义 ~~~ 什么是keystone:keystone是OpenStack Identity Service的项目名称, ~~~ 是一个#负责身份 ...

  7. CC00022.CloudOpenStack——|OpenStack组件.V01|——|OpenStack-Dashboard|Dashboard基础条件配置|

    一.先决条件 ### --- 先决条件 ### --- BS结构的访问体系~~~ 安装OpenStack compute(nova)和identity(keystone)service ~~~ 安装P ...

  8. Openstack组件实现原理 — Keystone认证功能

    前言 Keystone实现始终围绕着Keystone所实现的功能来展开,所以在理解其实现之前,建议大家尝试通过安装Keystone这一个过程来感受Keystone在Openstack架构中所充当的角色 ...

  9. Openstack组件部署 — Overview和前期环境准备

    目录 目录 前言 软件环境 Openstack 简介 Openstack 架构 Openstack Install Overview 创建Node虚拟机 环境准备 基础设置 Install OpenS ...

最新文章

  1. 汇总|计算机摄影学资源,涉及视频、书籍以及国内外著名实验室
  2. 远程服务器系统管理,如何远程管理服务器系统(转载)
  3. java cucumber_为Java + STANDARD值引入Cucumber
  4. mysql主库清理数据,从库保留
  5. 关于JS中使用JSON.parse长整型数丢失精度的问题解决
  6. [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径...
  7. 建筑业建筑业大数据行业现状_建筑—第4部分
  8. ReactNative之Image在Android设置圆角图片变形问题
  9. 为什么实对称矩阵要求其正交矩阵,而不是可逆矩阵使其对角化?
  10. 分类问题中正负样本分布不均衡问题的解决方法
  11. tex 表格内容换行_{Latex}{Tabular}文本超出表格自动换行
  12. 计算机系大二学期计划范文,大二学期学习计划范文6篇
  13. JS splice的用法
  14. 以太网巨人3Com退出历史舞台
  15. 共享免费世界地图OpenStreetMap(OSM)
  16. POJ 3107 Godfather(树形DP(找重心))
  17. IE8常见兼容问题及解决方法总结
  18. kotlin高阶函数的初级理解
  19. python+selenium 方法大全
  20. Recursive occurrence of viurs scan profile /scet/gui_upload in the sequence /scet/gui_upload

热门文章

  1. 出入库与库存系统的模型问题
  2. ONOS(Open Network Operating System) from ONF
  3. 我的世界java村民繁殖_教程/村民养殖 - Minecraft Wiki,最详细的官方我的世界百科...
  4. 使用苹果手机/PAD做树莓派的外接屏幕
  5. python 计算list中平均值_python里的list求平均值
  6. C++ 已知两个时间(年月日)求日期差
  7. 浙江大学的计算机考研难度,浙江大学部分专业考研难度分析
  8. 5W无线充发射IC芯片方案XPM7105、XPM7305 无线充SOC芯片
  9. csdn邻家割草_如何维护割草机,使其永远持续(几乎)
  10. html实现五子棋ai,JS实现五子棋——AI篇