glance服务监听两个端口:9191和9292

其中9292端口是对外提供服务的,9191是服务组件间使用的。

1.安装glance组件

yum --enablerepo=centos-openstack-queens clean metadata

yum install openstack-glance -y

报错:

Error downloading packages:
  python-networkx-core-1.10-1.el7.noarch: [Errno 256] No more mirrors to try.

所以,重新配置yum源,这次使用网易yum源。

首先将/etc/yum.repo.d/下的文件都删除掉。

然后参考step1:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

yum  clean metadata

yum remove centos-release-openstack-queens  -y

yum install centos-release-openstack-queens -y

再次安装glance:

yum install openstack-glance -y

再次报同样的错误。

不要放弃,这次配置中科大yum源,同样先删掉/etc/yum.repo.d/下的所有文件。

然后参考step1:

yum clean all

wget -O /etc/yum.repos.d/CentOS-Base.repo https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=3

yum clean metadata

yum remove centos-release-openstack-queens  -y

yum install centos-release-openstack-queens -y

再次安装glance:

还是报同样的错误。呵呵,,

看来不是yum源的问题,于是我换回了阿里的yum源。

解决方法如下:

yum install scipy -y     #这是安装python-networkx-core-1.10-1.el7.noarch.rpm需要的依赖包。

wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-queens/python-networkx-core-1.10-1.el7.noarch.rpm

开启虚拟机虚拟化技术。不会开的客官可以上网搜搜如何开启vmware虚拟化技术。(当然,客官也可能遇不到和我同样的情况)

rpm -ivh python-networkx-core-1.10-1.el7.noarch

yum install openstack-glance -y       #这次就可以顺利执行了。

2.在mariadb数据库中为glance组件创建glance数据库,为glance组件创建账号和密码,并授予对glance数据库的所有操作权限:

mysql -uroot -p

create database glance;

grant all privileges on glance.* to 'glance'@'localhost' identified by 'glance';

grant all privileges on glance.* to 'glance'@'%' identified by 'glance';

flush privileges;

3.配置/etc/glance/glance-registry.conf,以便glance-registry组件可以访问mariadb数据库,mariadb数据库存放的是镜像的元数据,也就是镜像的描述信息,比如镜像的大小等。

mariadb数据库中的glance数据库,只需要保证glance-registry可以访问即可,不需要在glance-api中添加[database]。

vim /etc/glance/glance-registry.conf
在[database]下,添加:
connection = mysql+pymysql://glance:glance@controller1/glance

保存退出。

4.将glance组件中的表导入到mariadb中的glance数据库中:

su -s /bin/sh -c "glance-manage db_sync" glance                       #导入进去的表并没有数据,只是具有表结构。

查看glance数据库,发现我的有15张表。

5.在keystone服务组件中,为glance服务组件创建账号和密码以及授予相应的权限。

source admin-openrc

在default域中创建glance用户:

openstack user create --domain default --password-prompt glance     #回车要求你输入glance用户的密码,我输入的密码是glance,客官请随意。

将admin角色关联到service项目和glance用户上:

openstack role add --project service --user glance admin         #相当于为用户授予权限。

查看角色与用户的对应关系:openstack role assignment list     #这是一个补充的知识点。

6.glance组件也需要向keystone服务组件请求token身份令牌,在第五步中,keystone已经为glance组件创建好了账号,那么这里就配置glance组件使用keystone创建好的账号去连接keystone服务组件:

需要同时配置glance-api组件和glance-registry组件的配置文件,添加相同的内容:

vim  /etc/glance/glance-api.conf
vim  /etc/glance/glance-registry.conf

在[keystone_authtoken]下,添加:

auth_uri = http://controller1:5000
auth_url = http://controller1:35357
memcached_servers = controller1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance

在[paste_deploy]下,添加:

flavor = keystone

保存退出。

7.配置glance中镜像实际数据(非元数据)的存放,可以使用多种存储库,比如对象存储,Cinder、S3、Ceph、常规文件系统等,初次我使用本地文件系统存储,来存放镜像文件。

一般将镜像文件存放在/var/lib/glance/images/目录下。

记住:这个images目录千万不要自己去创建,否则在上传镜像的时候会报错:

410 Gone: Error in store configuration. Adding images to store is disabled. (HTTP N/A)

这个images目录在glance服务启动后,会自己创建的。所以我们就不用瞎操心它了。

这个镜像文件的配置需要在glance-api配置文件中进行,因为glance-store组件配置入口被放入到glance-api的配置文件中了。

vim /etc/glance/glance-api.conf

在[glance_store]下,添加:

stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

保存退出。

8.在keystone组件中,创建keystone服务实体和API端点:

source admin-openrc

openstack service create --name glance --description "OpenStack Image" image

openstack endpoint create --region RegionOne image public http://controller1:9292
openstack endpoint create --region RegionOne image internal http://controller1:9292
openstack endpoint create --region RegionOne image admin http://controller1:9292

备注:如果误创建了服务实体,导致出现重复的服务实体的话,执行下面的命令进行删除:

openstack service delete [service-id]

9.启动glance服务,并设置开机自启。

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

10.验证

下载一个镜像:

wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

将镜像上传到glance服务,指定磁盘格式为raw,指定裸容器格式bare和公开可见性public,以便所有项目都可以访问它:

openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format raw --container-format bare --public      #我是上传成功了。

查看上传的镜像的状态,状态为active就表示镜像是可用的:

openstack image list

本篇教程初版已经写完了,感谢各位客官的观看,关于glance更多的操作,还有待研究,之后我会继续添加的。

OpenStack控制节点上搭建Q版glance服务(step4)的更多相关文章

  1. OpenStack控制节点上搭建Q版nova服务(step5)

    placement组件监听的端口号是:8778 nova组件监听的端口号是:6080.8774.8775 其中6080端口号是novncproxy监听的端口号. 1.安装服务组件 yum instal ...

  2. OpenStack控制节点上搭建Q版keystone服务(step3)

    keystone服务监听两个端口:5000和35357 一.安装和配置 1.安装keystone组件 yum install openstack-keystone httpd mod_wsgi -y ...

  3. OpenStack上搭建Q版的公共环境准备(step1)

    vmware14 centos7.5minimal版 controller1节点虚拟硬件配置: CPU:1颗2核 Memory:2G 硬盘:20G 网卡: VMnet1(仅主机模式):关闭DHCP,手 ...

  4. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 5.在控制节点上部署计算服务Nova

    计算服务Nova使用OpenStack Compute来托管和管理云计算系统. OpenStack Compute是基础架构即服务(IaaS)系统的主要部分. 主要模块用Python实现.OpenSt ...

  5. OpenStack搭建Q版在控制节点上的环境准备(step2)

    接下来是只需要在控制节点上准备的环境配置.其中虽然NTP服务需要在所有节点上都安装,但NTP服务在控制节点和其他的节点上的配置是不同的,所以不把它放在step1的公共配置中进行准备.如下: 1.配置N ...

  6. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 6.在计算节点上安装并配置计算服务Nova

    安装和配置计算节点这个章节描述如何在计算节点上安装和配置计算服务. 计算服务支持几种不同的 hypervisors.为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based ...

  7. OpenStack搭建Q版只属于计算节点上的环境准备(step6)

    配置NTP服务 1.安装chronyd yum install chrony -y 2.修改配置文件,使计算节点与控制节点同步时间 vim /etc/chrony.conf 注释掉下面四行: #ser ...

  8. openstack 部署(Q版)-----glance镜像服务安装配置

    一.创建数据库 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO '; GRANT ALL PRIVILEGES ON glanc ...

  9. openstack 控制节点大流量对外发包,nf_conntrack,table full droping packets

    某些人很MJJ,挂了N多代理来疯狂采集,把服务器带宽都耗尽了,没办法只好封掉一些! 目前发现的问题openStack kilo for ubuntu manuual运行一段时间后 云平台的控制节点p5 ...

随机推荐

  1. springboot源码之(内嵌tomcat)

    server---service----engine----host-----context---wrapper---servletStandardServer---StandardService-- ...

  2. DAY:3 列表

    列表元素提取 mes = ["北京","哈尔滨","长春","沈阳","天津"] print(mes ...

  3. windows下端口占用处理工具

    一.通用方法 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,笔者在最近使用tomcat时,老是会遇到这种端口占用的问题,如何知道谁占有了我们需要的端口,很多人都比较头疼,以下是通用方法: ...

  4. vgcreate语法

    vgcreate 用于创建LVM卷组 补充说明 vgcreate命令 用于创建LVM卷组.卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节.在卷组上创建逻辑卷时不用考虑 ...

  5. reat + cesium。 实现 初始化时自动定位,鼠标移动实时展示坐标及视角高度, 淹没分析

    只贴实现淹没分析这块的代码. import styles from './cesium.less'; import React from 'react'; import Cesium from 'ce ...

  6. canvas 添加线和删除线 及获取相关位置信息源码

    其他相关链接: https://github.com/lusase/lineDrawer.git https://www.jb51.net/css/359062.html https://www.jb ...

  7. Mac OS本地,XAMPP,出现 “phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接”错误

    phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接.您应该检查配置文件中的主机.用户名和密码,并确认这些信息与 MySQL 服务器管理员所给出的信息一致. 原因一:有可能是因为修改 ...

  8. 第三次Scrum编程冲刺

    小组第三次冲刺的任务及其完成情况描述 回顾第二次任务,完成了基本业务:用户可以使拍摄视频并上传至个人的空间页面,来与关注他的粉丝分享.关注“长大故事”社区中的其他用户,来了解别人的动态.别人所发动态下 ...

  9. Python dict(或对象)与json之间的互相转化

    Python dict(或对象)与json之间的互相转化 原文转载自 1.JSON:JavaScript 对象表示法,是轻量级的文本数据交换格式,独立于语言,平台 2.JSON 语法规则 数据在名称/ ...

  10. 【Paywave】VISA Paywave - ICS category selection

    [ICS category Selection] PCDA & IRWIN compliantContact InterfaceMagnetic Stripe TransactionConta ...