OpenStack手动分布式部署Glance【Queens版】

news/2024/4/23 19:10:54/文章来源:https://blog.csdn.net/weixin_43313333/article/details/129177833

目录

Glance简介

1、登录数据库配置(在controller执行)

  1.1登录数据库

  1.2数据库里创建glance

  1.3授权对glance数据库的正确访问

  1.4退出数据库

  1.5创建glance用户密码为000000

  1.6增加admin角色

  1.7创建glance服务

  1.8创建镜像服务API端点

2、安装glance配置组件

  2.1安装glance包

  2.2备份配置文件并且修改(修改了4个地方)

  2.3同步数据库

  2.4(这一步可以不做)现在glance没有日志,我们需要配置下

3、测试


Glance简介

  • Image Service  镜像服务:
  • 代号:Glance:
  • 为云平台虚拟机提供镜像服务,例如:上传镜像、删除镜像等。
  • 说明:镜像:磁盘文件。装好了系统的磁盘文件。把镜像拷贝过来,就不需要装系统。

【glance镜像服务】

  • 它在open stack中的项目名称为Glance.在早期的open stack版本中,Glance只有管理镜像的功能,并不具备镜像存储功能。现在,Glance已经发展称为集上传,检索,管理和存储等多种功能的open stack核心服务。

【glance由两部分组成】

(1)glance-api: 接受云系统镜像的创建,删除,读取请求

(2)glance-Registry: 云系统的镜像注册服务

  • glance-api 是接受 rest api请求的。完成诸如镜像的查找,获取,上传,删除等操作,默认是监听9292端口
  • glance-registry 是用于Mysql的数据交互,用户存储或获取镜像的元数据(metadata);提供镜像元数据相关的REST接口,通过glance-Registry,可以向数据库中写入或获取镜像的各种数据。glance-Registry监听的端口是9191.Glance数据库中有两种表,一张是image表,主要存储了镜像格式,大小等信息;另一张是image property表,主要存了镜像定制化信息。
  • image-store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3,Openstack本身的swift,还有诸如ceph,sheepdog,GluasterFS等分布式存储,image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持。

【镜像服务的主要功能】

  • 1.查询和获取镜像的元数据和镜像本身
  • 2.注册和上传虚拟机镜像,包括镜像的创建、上传、下载和管理
  • 3.维护镜像信息,包括元数据和镜像本身
  • 4.支持多种方式存储镜像,包括普通的文件系统、swift、Amazon、S3等
  • 5.对虚拟机实例执行创建快照命令来创建新的镜像,或者备份虚拟机的状态

 

1、登录数据库配置(在controller执行)

  1.1登录数据库

[root@controller ~]# mysql -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.3.20-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> 

  1.2数据库里创建glance

MariaDB [(none)]> CREATE DATABASE glance;

  1.3授权对glance数据库的正确访问

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  IDENTIFIED BY '000000';

  1.4退出数据库

MariaDB [(none)]> quit;

  1.5创建glance用户密码为000000

[root@controller ~]# openstack user create --domain default --password 000000 glance
Missing value auth-url required for auth plugin password

        如上我的这里会报错,时因为没有source环境变量导致。

        如下修改/etc/profile文件解决:

#[root@controller ~]# vi /etc/profileexport OS_USERNAME=admin
export OS_PASSWORD=000000
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

##这里的密码设置为了glance 

[root@controller ~]# source /etc/profile
[root@controller ~]# openstack user create --domain default --password 000000 glance

  1.6增加admin角色

openstack role add --project service --user glance admin

  1.7创建glance服务

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

  

  1.8创建镜像服务API端点

openstack endpoint create --region RegionOne image public http://controller:9292

  

openstack endpoint create --region RegionOne image internal http://controller:9292

  

openstack endpoint create --region RegionOne image admin http://controller:9292

 

2、安装glance配置组件

  2.1安装glance包

yum install openstack-glance -y

  2.2备份配置文件并且修改(修改了4个地方)

cp /etc/glance/glance-api.conf{,.bak}
grep -Ev "^$|#" /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf
vi /etc/glance/glance-api.conf

[database]
connection = mysql+pymysql://glance:000000@controller/glance[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/[keystone_authtoken]
www_authenticate_uri  = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 000000[paste_deploy]
flavor = keystone

  2.3同步数据库

su -s /bin/sh -c "glance-manage db_sync" glance
systemctl start openstack-glance-api.service
systemctl enable openstack-glance-api.service

  2.4(这一步可以不做)现在glance没有日志,我们需要配置下

#[root@controller ~]# vi /etc/glance/glance-api.conf[DEFAULT]
log_file = /var/log/glance/glance-api.log
[root@controller ~]# systemctl restart openstack-glance-api.service
[root@controller ~]# tail -f /var/log/glance/glance-api.log 
).  Its value may be silently ignored in the future.
2023-02-09 10:18:22.350 43599 INFO glance.common.wsgi [-] Starting 4 workers
2023-02-09 10:18:22.352 43599 INFO glance.common.wsgi [-] Started child 43611
2023-02-09 10:18:22.354 43611 INFO eventlet.wsgi.server [-] (43611) wsgi starting up on http://0.0.0.0:9292
2023-02-09 10:18:22.355 43599 INFO glance.common.wsgi [-] Started child 43612
2023-02-09 10:18:22.357 43612 INFO eventlet.wsgi.server [-] (43612) wsgi starting up on http://0.0.0.0:9292
2023-02-09 10:18:22.358 43599 INFO glance.common.wsgi [-] Started child 43613
2023-02-09 10:18:22.360 43613 INFO eventlet.wsgi.server [-] (43613) wsgi starting up on http://0.0.0.0:9292
2023-02-09 10:18:22.361 43599 INFO glance.common.wsgi [-] Started child 43614
2023-02-09 10:18:22.363 43614 INFO eventlet.wsgi.server [-] (43614) wsgi starting up on http://0.0.0.0:9292

3、测试

下载cirros-0.4.0-x86_64-disk.img这个镜像上传到/opt下面(镜像文件在我的资源csdn下载地方找到)

切换到/opt目录下

[root@controller opt]# ls
cirros-0.4.0-x86_64-disk.img
[root@controller opt]# glance image-create --name "cirros" \--file cirros-0.4.0-x86_64-disk.img \--disk-format qcow2 --container-format bare \--visibility=public
+------------------+----------------------------------------------------------------------------------+
| Property         | Value                                                                            |
+------------------+----------------------------------------------------------------------------------+
| checksum         | 443b7623e27ecf03dc9e01ee93f67afe                                                 |
| container_format | bare                                                                             |
| created_at       | 2023-02-09T15:25:52Z                                                             |
| disk_format      | qcow2                                                                            |
| id               | 79e21395-0d41-4c98-86f2-bfa813a48a2f                                             |
| min_disk         | 0                                                                                |
| min_ram          | 0                                                                                |
| name             | cirros                                                                           |
| os_hash_algo     | sha512                                                                           |
| os_hash_value    | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e |
|                  | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78                                 |
| os_hidden        | False                                                                            |
| owner            | 4c7bdbb75b9e481db886549f7d2711be                                                 |
| protected        | False                                                                            |
| size             | 12716032                                                                         |
| status           | active                                                                           |
| tags             | []                                                                               |
| updated_at       | 2023-02-09T15:25:53Z                                                             |
| virtual_size     | Not available                                                                    |
| visibility       | public                                                                           |
+------------------+----------------------------------------------------------------------------------+
[root@controller opt]# glance image-list
+--------------------------------------+--------+
| ID                                   | Name   |
+--------------------------------------+--------+
| 79e21395-0d41-4c98-86f2-bfa813a48a2f | cirros |
+--------------------------------------+--------+

以上说明部署glance成功


OpenStack简介 | 常见的基础组件

OpenStack手动分布式部署环境准备【Queens版】 

OpenStack手动分布式部署Keystone【Queens版】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_73067.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FinClip 的 2022 与 2023

相比往年,今年复盘去年与展望新年的文章来的稍慢一点。不过也希望能够借这篇文章,和关注 FinClip 的用户朋友们一起聊聊,我们在去年和今年的想法与计划。 2022 在过去的一年中,我们的身边发生了很多事情,这些事情在不…

CANoe-TestModule-vTESTstudio-Python -- 爱恨情仇

前面有聊过什么才是真正的自动化平台;其实说起来也是每个测试人的工作之路,从入门的测试执行、测试用例设计、自动化脚本开发、自动化架构开发、自动化平台开发,实际上我们大多数测试人都在纠结第一步的测试执行和第三步的自动化脚本开发&…

数据结构—堆(完全解析)

数据结构—堆(完全解析) 数据结构——堆(Heap)大根堆、小根堆 详解数据结构——堆 堆的基本存储 【从堆的定义到优先队列、堆排序】 10分钟看懂必考的数据结构——堆 【堆/排序】堆排序的两种建堆方法 【算法】排序算法之堆排序 C…

Mybatis学习记录

Mybatis学习记录一、MyBatis简介1.1、MyBatis历史1.2、MyBatis特性1.3、MyBatis下载1.4、和其他持久化层技术对比二、MyBatis框架搭建2.1、加入依赖2.2、创建MyBatis的核心配置文件2.3、创建Mapper接口2.4、 创建MyBatis的映射文件2.5、 测试环境2.6、 加入Log4j日志功能三、核…

Array.apply(null,{length: 99}) 逻辑解析

一、基础概述 vue 教程中有一段 demo code,如下: render: function (createElement) {return createElement(div,Array.apply(null, { length: 20 }).map(function () {return createElement(p, hi)})) }这个表达式Array.apply(null, { length: 20 })有…

Leetcode第450题删除二叉搜索树中的结点|C语言

题目: 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤…

【python】用plotly绘制正二十面体

文章目录顶点棱实现正二十面体plotly 的 Python 软件包是一个开源的代码库,它基于 plot.js,而后者基于 d3.js。我们实际使用的则是一个对 plotly 进行封装的库,名叫 cufflinks,能让你更方便地使用 plotly 和 Pandas 数据表协同工作…

最新文件快递柜系统网站源码-Fastapi+Sqlite3+Vue2+ElementUI-简洁好用

## 主要特色 - [x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI - [x] 轻松上传:复制粘贴,拖拽选择 - [x] 多种类型:文本,文件 - [x] 防止爆破:错误次数限制 - [x] 防止滥用:IP限制上传次数 - [x] 口令分享:随机口令,存取文件,自定义次数以及有效期 - [x] 匿名分享:无…

BurpSuite实战教程02-BurpSuite+夜神模拟器抓包教程

工具介绍 BurpSuite BurpSuite是用于“攻击”web 应用程序的集成平台(java编写),包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、…

使用Autoware标定工具包联合标定相机和激光雷达

前面文章介绍了,安装autoware标定工具包、ros驱动usb相机、robosense-16线激光雷达的使用,本文记录使用Autoware标定工具包联合标定相机和激光雷达的过程。1.ros驱动相机,启动相机;启动激光雷达2.联合录制bag包rosbag record -a 参…

k8s1.23.0+ubuntu20.04+docker23+hyperv

问题 k8s node节点加入到集群时卡住 “[preflight] Running pre-flight checks” # master节点重新生成加入命令 kubeadm token create --ttl 0 --print-join-command参考 注意 k8s1.24使用containerd而不再使用docker,因此使用k8s1.23版本 环境 k8s: 1.23.0 u…

TestNG和Junit的区别,测试框架该如何选择?

要想知道两个框架的区别,首先分别介绍一下两个框架。 TestNG是一个java中的开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了JUnit4整个核心的功能,但引入了一些新的功能,使其功能更强大,使用更…

记一次docker虚拟机横向移动渗透测试

本次渗透在几个docker虚拟机间多次横向移动,最终找到了一个可以进行docker逃逸的出口,拿下服务器。渗透过程曲折但充满了乐趣,入口是172.17.0.6的docker虚拟机,然后一路横向移动,最终在172.17.0.2出实现了docker逃逸&a…

【vue2每日小知识】实现store中modules模块的封装与自动导入

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:省去我们store仓库中分模块时的需要每次导入index的问题 目录 【前言】在store中如何简…

ELK日志分析--Filebeat

ELK架构 Filebeat简介 Filebeat安装 Filebeat简单使用 专用日志搜集模块 案例模块-Nginx 模块 重读日志文件 使用Processors(处理器)过滤和增强数据 1.ELK架构 2.Filebeat简介 可以使用 Filebeat 收集各种日志,之后发送到指定的目标系统上,但是同…

软件测试面试题 —— 整理与解析(1)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:🌎【Austin_zhai】🌏 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能&#xf…

【华为OD机试真题】用 C++ 实现 - 数字加减游戏

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

程序员如何发展第二职业?这几种副业方式超赚钱

很多程序员曾表示,虽然月薪一两万,但有时候还是会焦虑。 尤其是遇上了年初裁员年底裁员这样的就业环境,焦虑就会逐步放大,这时候副业赚钱的重要性就体现出来了。 发展第二职业,可以让程序员们增加抗风险能力&#xf…

数据结构-考研难点代码突破(树型查找 - 红黑树(RBT)插入流程图,删除)

文章目录1. 红黑树的定义和性质红黑树的插入操作流程红黑树的删除(了解)1. 红黑树的定义和性质 红黑树查找与删除的效率和AVL树相同。 但是因为AVL树在插入或删除节点可能破坏AVL树结构,而重新调整树的开销大。所以引出了红黑树。 红黑树的…

【Jmeter】ForEach控制器

一、什么是ForEach控制器 ForEach控制器是遍历某个数组读取不同的变量值,来控制其下的采样器或控制器执行一次或多次。而这个数组可以是用户自定义变量,也可以是从前面接口请求中提取到需要的数据,然后进行遍历循环。 二、ForEach控制器相关…