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. list练习

    usernames = ['cwl','pn','gxn','hyp']passwords = ['123456','abc123','324234','23423']#pn#sdfsdf #需要校验 ...

  2. matlab 小波工具箱

    wavemenu --- >wavelet ---->wavelet packet1-D Matlab小波工具箱的使用1 转载▼ http://blog.sina.com.cn/s/blo ...

  3. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

  4. GIT和SVN版本控制

    Git 与SVN SVN 是集中式版本控制系统: 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了, ...

  5. 【转】Android-Input 触摸设备

    https://source.android.com/devices/input/touch-devices 触摸设备 Android 支持各种触摸屏和触摸板,包括基于触控笔的数字化板. 触摸屏是与显 ...

  6. python自动生成bean类

    近期在学习python,一直在和java做对比,目前没有发现有通过字段自动生成getter setter方法,故此自己写了一个类,可以通过__init__方法传入类名和字段数组,再调用内部的方法,就可 ...

  7. [JsonSchema] 关于接口测试 Json 格式比对核心算法实现 (Java 版)

    引言 为什么要自己重新造轮子,而不是采用第三方的JsonSchema方法进行实现存在以下痛点:1.我之前在网上找了很久,没有找到java版直接进行jsonschema生成的方法或直接比较的方法2.ht ...

  8. Git克隆代码后更新代码上传至服务器

    首先在本地新建一个文件夹,鼠标右键点击Git clone(熟悉命令的可以直接在Git Bsah Here 里输入命令进行克隆), 点击后在弹框中输入服务器url后点击ok               ...

  9. canvas绘制随机验证码

    效果图: 思路: 1, 绘制canvas画布,进行基础设置 2.绘制一个矩形 3.设置验证码的随机数 4.设置验证码随机数的随机颜色 5.绘制随机干扰线 6,绘制随机干扰点 经过以上六个步骤,验证码的 ...

  10. idea 从git上checkout项目下来,project没有文件目录结构

    1.去到 查看sdk有没有配置 查看该部分是否是空的,如果没有显示项目,添加导入项目