云计算HCIP-OpenStack03

书接上回: 云计算HCIP-OpenStack02-CSDN博客

10.KeyStone

keystone-Openstack,IAM服务(统一身份认证)-云服务

建议先去了解Hadoop(大数据生态系统)中的kerberos(LDAP+kerberos鉴权机制tip云计算+大数据+人工智能密不可分三个大方向都是当下热门前沿学科

keystone是OpenStack中安全认证的相关服务类型,主要提供人机认证和机机认证两种认证模式,涵盖了主流的所有认证方法,保证了OpenStack集群的内部安全,作为OpenStack中的重要组件,keystone是一个共享性服务,即所有的用户和服务组件都需要和keystone建立连接。keystone作为Openstack中的认证组件,如果出现问题,会导致集群整体的不可用。

10.1keystone的概念

10.2KeyStone架构

10.3KeyStone对象管理

10.4OpenStack资源创建流程1
  1. 用户提交任务之后,Horizon会调用API接口将用户在web上配置的参数转换为指令下发。
  2. 在指令下发之前,首先用户需要提供自己的用户名和密码发送给keystone,用于获取访问对应服务的令牌。在实际操作中,我们是不需要做这一步的,因为Horizon已经替代用户自动发送了。
  3. keystone收到信息之后,会通过自身的keystone的keystone Service模块的identity进行验证,实际的验证工作是由keystone plugin完成的。
  4. 验证完成之后,keystone会生成该用户的访问令牌,默认为fernet模式,并反馈给用户
  5. 用户获取令牌之后,就会将命令和令牌一次性传输给对应的服务,相关的服务收到之后,会首先对令牌进行解密,然后将令牌信息发送给keystone
  6. keystone收到服务的验证信息之后,首先会确认令牌是否被篡改,如果被篡改则反馈连接不合法,如果确认正常,则keystone连接keystone service,查询本地的Assignment、resource、endpoint并反馈给查询服务
  7. 服务收到信息之后,会根据endpoint显示的url反馈给用户。同时服务会执行用户下发的命令(前提是用户具有权限可以执行)
  8. 如果在执行的过程中,需要跨服务创建资源,则由收到用户请求的服务作为代理,将命令和用户令牌一起发送给其他服务
  9. 其他相关服务收到信息之后,同5-8步执行
  10. 当任务执行完成之后,收到请求的服务会向用户反馈执行完成,同时经过一段时间之后,令牌过期。

10.5OpenStack资源创建流程2
  1. 用户通过使用用户名密码登录horizon或者是CLI
  2. Horizon收到用户登录请求首先会联系keystone,验证用户是否合法。
  3. keystone收到请求之后,验证用户是否合法,同时反馈用户的权限信息给Horizon
  4. 登录完成之后用户进行操作,当用户需要下发命令,所有的操作在提交的时候统一转化为API指令。

  1. 在命令下发之前,首先Horizon会替代用户携带用户名和密码信息发送给keystone,请求获取令牌。
  2. keystone收到请求之后,首先会转发请求给keystone service,通过identity服务进行验证,实际上是通过keystone plugin服务进行查询。确认用户合法之后,Service中的token会要求plugin服务生成令牌,令牌生成之后,会由Token通过API反馈令牌给用户
  3. 令牌获取之后,用户(Horizon)会将自身的请求和令牌一起交给对应的服务。
  4. 服务收到请求和令牌之后,首先会用令牌联系keystone,确认合法性和权限
  5. keystone收到了服务的请求之后,首先把令牌发送给service 的token服务,token会验证令牌是否合法
  6. 确认合法之后,service会查询identity获取用户的组信息,查询Assignment查询角色分配与权限,查询resource(policy)获取域和项目信息,最后查询catalog根据权限获取端点url。然后将这些信息统一反馈给服务
  7. 服务收到之后,会根据用户的相关信息进行任务执行,同时会将url透传给用户,通过Horizon打开对应的url链接
  8. 如果需要跨服务执行,则重复服务的查询和执行步骤
  9. 当任务执行完成之后,向用户反馈写完成,等待令牌过期。
  10. 在任务执行过程中,Horizon会周期性的查询执行进度。

11Glance镜像管理服务

镜像管理服务提供了发现、注册、检索虚拟机镜像的功能。

发现指的是镜像管理服务可以主动的从海量的后台文件中,主动找到哪个文件是系统镜像文件。该功能的实现是通过检索文件的后缀名实现的。比如常见的有iso、vmdk、vhd、qcow2

注册指的是将系统发现的镜像文件注册到服务内部作为一个系统镜像存在检索虚拟机镜像,如果glance服务中有大量的镜像,glance支持通过关键字进行查询镜像的本质是文件,所以镜像服务需要后台连接存储,存储支持本地、cinder、对象存储等由于所有用户都对glance有需求,所以glance属于是全局共享服务。

数据和元数据的关系

数据是信息的载体,数据的组织形式是文件,也就是说所有的文件,都是由数据组成的。即数据为文件的实际内容。

元数据是描述数据的数据,也就是数据的属性信息

11.1Glance架构

Client:客户端,负责用户的接入,本质上是一个本地程序,通过客户端可以连接到OpenStack中的所有服务

REST API:标准连接接口,负责提供一个对外暴露的接口,用于外部访问内部

Domain Controller:镜像域控制器,也可以翻译成镜像域级管理器,主要负责实现Glance服务的各项功能

registry layer:注册中心层,负责控制器和Glance数据库之间的安全访问的

Database Abstraction layer:数据库抽象层,提供Glance和数据库访问的API接口

Glance DB:镜像数据库,存储了镜像服务最核心的管理数据、配置数据以及相关的重要信息,一旦受损整个服务以及相关的镜像文件和元数据全部损坏

Glance Store:镜像仓库,负责存储和管理镜像,维护镜像的可用性

11.2Glance工作流程

11.3Glance基础概念

镜像:传统情况下指的是一个文件,在Glance服务中,镜像包含了系统的配置信息,控制文件,磁盘文件等内容,是一个比较综合化的概念

实例:概念等同于节点、虚拟机、对象等,本质上就是在OpenStack上运行的一台虚拟机设备。

规格:定义了实例的相关配置参数,包含vCPU、vMemory以及磁盘大小,没有网络配置

规格是OpenStack中非常重要的组成部分,用户在使用OpenStack的时候,是不能自定义规格的。管理员设定什么规格,用户就只能选择什么规格。

规格分为两类,计算类和存储类,这里要强调存储类是镜像存储类。计算类为CPU和内存规格,镜像存储类,是指使用该镜像时,所需分配的最小的系统盘大小。

管理员在后台设定好规格之后,用户只能选择规格。

11.4计算类规格

11.5镜像存储类规格

当我们是管理员的时候,为了用户可以正常的创建VM,我们需要在后台配置计算规格,然后上传镜像,设置镜像所需要的最小的硬盘大小,即镜像存储规格。然后用户才能够正常的去创建VM。

网络规格需要根据用户自己的需求创建,不能指定。没有规格。

11.6Glance状态机

所谓状态机指的就是一个系统或者是一个框架内部的状态转换机制,俗称叫做状态机,一般来说在ICT框架下,具有代表性的协议、产品、架构都具有状态机。状态机可以理解为是计算机领域中的一种常见的设计机制。

在Glance中,状态机的主要机制有以下类型:

  1. queued:镜像注册已经完成,但是镜像文件还未上传。
  2. saving:镜像上传中
  3. uploading:下发了镜像导入命令,但是还未执行
  4. importing:导入镜像ing
  5. active:激活可用
  6. deactive:未激活/停用,管理员不受限
  7. killed:上传失败
  8. delete:延迟删除
  9. pending_delete:回收站

任务状态:

  1. pending:挂起/暂停
  2. processing:执行中
  3. success:成功
  4. failure:失败

书接下回:云计算HCIP-OpenStack04-CSDN博客

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

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

相关文章

el-table打印PDF预览,表头错位的解决方案

文章目录 背景与需求需求分析解决方案方案一:vue-print-nb插件安装引入使用 方案二安装使用 方案三 总结 背景与需求 本例以vue2项目为例,vue3与react等同理。 有个项目需要打印的功能,网页使用vue2写的,主体内容为表格el-table&a…

uniapp炫酷导航按钮及轮播指示器组件

一个拥有炫酷动效的导航按钮和指示器uniapp组件,帮你构建更炫酷的官网、宣传页、产品介绍等页面。 目前测试了vue2语法在h5和微信小程序的适配,其他平台理论上也能用。 下载及使用方法地址:iliya-desgin 展示: 目标页面出现在可视…

SAM大模型实践(一)

参考着segment-geospatial 项目主页的介绍,尝试复现一下Example-satallite的案例。 Satellite - segment-geospatialhttps://samgeo.gishub.org/examples/satellite/ 过程当中遇到了一些坑给大家做点分享,主要有几种情况,一个是torch…

如何为IntelliJ IDEA配置JVM参数

在使用IntelliJ IDEA进行Java开发时,合理配置JVM参数对于优化项目性能和资源管理至关重要。IntelliJ IDEA提供了两种方便的方式来设置JVM参数,以确保你的应用程序能够在最佳状态下运行。本文将详细介绍这两种方法:通过工具栏编辑配置和通过服…

解决电脑网速慢问题:硬件检查与软件设置指南

电脑网速慢是许多用户在使用过程中常见的问题,它不仅会降低工作效率,还可能影响娱乐体验。导致电脑网速慢的原因多种多样,包括硬件问题、软件设置和网络环境等。本文将从不同角度分析这些原因,并提供提高电脑网速的方法。 一、检查…

探索Starship:一款用Rust打造的高性能终端

在终端的世界里,效率和美观往往并行不悖。今天,我们要介绍的是一款名为Starship的终端工具,它以其轻量级、高颜值和强大的自定义功能,赢得了众多开发者的青睐。 安装 任选一种方式进行安装 Windows 🪟 # scoop scoo…

快速启动Go-Admin(Gin + Vue3 + Element UI)脚手架管理系统

Go-Admin 是一个基于 Gin Vue Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架。它包含了多租户支持、基础用户管理功能、JWT 鉴权、代码生成器、RBAC 资源控制、表单构建、定时任务等功能。该项目的主要编程语言是 Go 和 JavaScript。 ps&a…

SEC_ASA 第二天作业

拓扑 按照拓扑图配置 NTP,Server端为 Outside路由器,Client端为 ASA,两个设备的 NTP传输使用MD5做校验。(安全 V4 LAB考点) 提示:Outside路由器作为 Server端要配置好正确的时间和时区,ASA防…

《深入探究:C++ 在多方面对 C 语言实现的优化》

目录 一、C 在 C 上进行的优化二、C 关键字(C 98)三、C 的输入输出1. cin 和 cout 的使用2. cin、cout 和 scanf()、printf() 的区别 三、命名空间1. 命名空间的使用2. 嵌套命名空间3. 在多个头文件中使用相同的命名空间 四、函数缺省值1. 缺省值的使用2…

vue3修改elementui-plus的默认样式的几种方法

#创作灵感 今天写vue的前端项目,因为需要去修改elementui-plus中drawer的默认样式,所以刚好将修改步骤记录下来。 一共提供了三种方法,但亲测第二种最好用。 使用第二种是可以无视自己的代码中是否定义了该盒子,因为有时候盒子的…

Fiddler简单使用

Fiddler使用方法 1.作用 接口测试,发送自定义请求,模拟小型的接口测试定位前后端bug,抓取协议包,前后端联调构建模拟测试场景,数据篡改,重定向弱网测试,模拟限速操作,弱网&#xf…

如何通过递延型指标预测项目的长期成果?

递延型指标(Deferred Metrics)是指那些并不立即反映或直接影响当前操作、决策或行为的指标,而是随着时间的推移,才逐渐显现出影响效果的指标。这类指标通常会在一段时间后反映出来,或者需要一定的周期才能展现其成果或…

SpringCloud微服务实战系列:01让SpringCloud项目在你机器上运行起来

目录 项目选型 项目安装-本地运行起来 软件安装: 项目启动: 总结&答疑 项目选型 软件开发,基本上都不会从0开始,一般都是在其他项目或者组件的基础上进行整合优化迭代,站在巨人肩膀上才能看得更远&#xff0c…

分布式全文检索引擎ElasticSearch-数据的写入存储底层原理

一、数据写入的核心流程 当向 ES 索引写入数据时,整体流程如下: 1、客户端发送写入请求 客户端向 ES 集群的任意节点(称为协调节点,Coordinating Node)发送一个写入请求,比如 index(插入或更…

【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程

文章目录 【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程前言一 、docker上部署mysql1. 拉取mysql镜像2. 创建容器3. 远程登录mysql 二 、docker上部署nginx1. 拉取nginx镜像2. 在dockerTar目录下 上传nginx.tar rz命令3. 创建nginx容器4…

第8章 搬移特性

8.1 搬移函数 模块化是优秀软件设计的核心所在,好的模块化能够让我在修改程序时只需理解程序的一小部分。为了设计出高度模块化的程序,我得保证互相关联的软件要素都能集中到一块,并确保块与块之间的联系易于查找、直观易懂。同时&#xff0c…

「九」HarmonyOS 5 端云一体化实战项目——「M.U.」应用云侧开发云数据库

1 立意背景 M. 代表 “我”,U. 代表 “你”,这是一款用于记录情侣从相识、相知、相恋、见家长、订婚直至结婚等各个阶段美好记忆留存的应用程序。它旨在为情侣们提供一个专属的空间,让他们能够将一路走来的点点滴滴,如初次相遇时…

【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. …

“从零到一:揭秘操作系统的奇妙世界”【操作系统的发展】

1.手工操作阶段 此时没有OS,用户采用人工操作方式进行。 方式:程序员在纸带机上打孔---计算机读取---结果输出到纸袋机上---程序员取走结果 缺点:耗时长,难度大、用户独占全机、人机速度矛盾导致资源利用率低 2.单批道处理系统 引…

Base64在线编码解码 - 加菲工具

Base64在线编码解码 - 加菲工具 打开网站 加菲工具 选择“Base64 在线编码解码” 或者直接打开https://www.orcc.online/tools/base64 输入需要编码/解码的内容,点击“编码”/“解码”按钮 编码: 解码: 复制已经编码/解码后的内容。