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. Oracle学习DayFive(PL/SQL)

    一.PL/SQL简介  PL/SQL 是 Procedure Language & Structured Query Language 的缩写.PL/SQL 是对 SQL 语言存储过程语言的扩 ...

  2. 说一下syslog日志吧~~~

    # -*- coding:utf-8 -*-from logging.handlers import *import loggingimport logging.handlers class MySo ...

  3. Unity ECS 初探

    1.安装 安装两个包 2.初探 实例化 注:实例化的实体并不会在Hierarchy视图里面显示,可在EntityDebugger窗口里面显示,因此需要显示的话需要添加Rendermeshcompone ...

  4. 制作voc2007数据格式的数据集

    最近按照博主分享的流程操作,将自己遇到的难题记录下来,附上原博文链接:https://blog.csdn.net/jx232515/article/details/78680724 使用SSD训练自己 ...

  5. L362 When to Bring up Salary During the Job Interview Process

    Money is an awkward topic of conversation for many professionals—even more so when you’re busy tryin ...

  6. Python成长之路【第四篇】模块儿

    模块儿&包(* * * * *) 模块儿(modue)的概念 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多 ...

  7. 解决Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.geek.dao.ContentDao.Integer

    mybatis报错:Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain val ...

  8. 今天想写一下关于SpringMVC的视图解释器

    昨天我写了一下SpringMVC最爱金丹的项目的配置流程,这样搭建完项目之后呢我发现我每个请求都得加个.do什么的后缀,这让我开发得很不爽,于是呢今天就想配置一下这个试图解释器,这样做的目的有两个:第 ...

  9. 在JSP中使用el函数标签获取默认值(男女性别选项)

    http://blog.csdn.net/b10060224/article/details/45771025

  10. 浅谈MVC中的service层(转)

    概述 mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. mvc模式是web开发中的基础模式,采用的是分层 ...