博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenStack控制节点上搭建Q版glance服务(step4)
阅读量:4606 次
发布时间:2019-06-09

本文共 4528 字,大约阅读时间需要 15 分钟。

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更多的操作,还有待研究,之后我会继续添加的。

 

转载于:https://www.cnblogs.com/jipinglong/p/10165609.html

你可能感兴趣的文章
php目录分隔符DIRECTORY_SEPARATOR
查看>>
总结5
查看>>
navicat 导出查询结果
查看>>
安卓突击:service的基础知识
查看>>
在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示
查看>>
Swift简介
查看>>
Finally, which light is on?
查看>>
FFT-初识篇
查看>>
改变dijit的长度的心得
查看>>
国产手机插入mac os 系统中无法被识别的解决方法
查看>>
Python集合模块collections
查看>>
mobile开发技巧(转)
查看>>
POJ-1180 Batch Scheduling (分组求最优值+斜率优化)
查看>>
5.1.2
查看>>
3.24
查看>>
一个文件夹可以link 到另外一个文件夹
查看>>
servlet 项目 ,,启动没问题,,但是,一请求也面就报错误。。。。求解决。。。。。。。。。。。。。各种百度,都没解决了啊。。。。。急急急急急急急急急急急急急急急急急急...
查看>>
卖空大师”:中国经济构造畸形 坚决卖空中国
查看>>
移动端与PC端的触屏事件
查看>>
#include stdio.h(6)
查看>>