云计算HCIP-OpenStack03

news2024/12/18 7:06:40
书接上回: 云计算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.coloradmin.cn/o/2261459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.Net WebAPI(一)

文章目录 项目地址一、WebAPI基础1. 项目初始化1.1 创建简单的API1.1.1 get请求1.1.2 post请求1.1.3 put请求1.1.4 Delete请求 1.2 webapi的流程 2.Controllers2.1 创建一个shirts的Controller 3. Routing3.1 使用和创建MapControllers3.2 使用Routing的模板语言 4. Mould Bind…

【Flink-scala】DataStream编程模型之状态编程

DataStream编程模型之状态编程 参考: 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 3.【Flink-scala】DataStream编程模型之窗口计算-触发器-驱逐器 4.【Flink-scal…

Gitlab服务管理和仓库项目权限管理

Gitlab服务管理 gitlab-ctl start # 启动所有 gitlab 组件; gitlab-ctl stop # 停止所有 gitlab 组件; gitlab-ctl restart # 重启所有 gitlab 组件; gitlab-ctl status …

SCAU期末笔记 - Linux系统应用与开发教程样卷解析(2024版)

我真的不理解奥,为什么会有给样卷不自带解析的,对答案都没得对,故整理一篇 样卷1 一、选择题 1、为了遍历shell脚本调用时传入的参数,需要在shell脚本中使用_____。 A.$#表示参数的个数B.S表示所有参数C.$0表示脚本名D.$1表示…

学习threejs,区域光THREE.AreaLight效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.AreaLight 区域光 二…

RabbitMQ消息队列的笔记

Rabbit与Java相结合 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 在配置文件中编写关于rabbitmq的配置 rabbitmq:host: 192.168.190.132 /…

VSCode,Anaconda,JupyterNotebook

文章目录 一. 下载VSCode并安装二. 下载Anaconda并安装1. anaconda介绍2. Anaconda的包管理功能3. Anaconda的虚拟环境管理4.Jupyter Notebook5. Jupyter Notebook使用简介6. Jupyter Notebook快捷键7.Jupyter notebook的功能扩展8. Jupyter notebook和Jupyter lab的区别 三. V…

动态导出word文件支持转pdf

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、功能说明二、使用步骤1.controller2.工具类 DocumentUtil 导出样式 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff…

那些不属性的C语言关键字-const

大家都知道const修饰的变量是不可变的&#xff0c;但是到底是怎么实现的那&#xff0c;有方法修改只读变量的值吗&#xff0c;今天我们结合实验代码&#xff0c;分析下const关键字的实现原理 const变量 1.const修饰局部变量 int main(){const int abc 123;printf("%d\…

【Java 数据结构】List -> 给我一个接口!!!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. 什么是 List 2. List 常用的方法 3. List 的使用 1. 什么是 List 其实 List 是一个接口&#xff0c;它继承了 Collection 接口 下列为 List 接口中的各种…

【5G】5G的主要架构选项

最初&#xff0c;在3GPP讨论中考虑了所有可能的聚合和核心网络组合&#xff0c;共有八个架构选项。以下重点介绍option2、3、4和7。 1. 独立组网 (Standalone, SA) 架构选项 2 &#xff1a;Standalone architecture with 5G-core 特点&#xff1a; 5G核心网&#xff08;5GC, …

Ajax简单理解

Ajax 1 什么是ajax AJAXAsynchronous JavaScript and XML (异步的JavaScript和XML)AJAX不是新的编程语言&#xff0c;二十一种使用现有标准的新方法 AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部分网页内容。 AJAX 不需要任何浏…

【GESP】C++二级考试大纲知识点梳理, (2)计算机网络的基本概念及分类

GESP C二级官方考试大纲中&#xff0c;共有9条考点&#xff0c;本文针对C&#xff08;2&#xff09;号知识点进行总结梳理。 &#xff08;2&#xff09;了解计算机网络的概念&#xff0c;了解计算机网络的分类&#xff08;广域网&#xff08;WAN&#xff09;、城域网&#xff0…

相机与NAS的奇妙组合,如何使用相机拍照自动上传或备份到NAS

相机与NAS的奇妙组合&#xff0c;如何使用相机拍照自动上传或备份到NAS 哈喽小伙伴们好&#xff0c;我是Stark-C~ 对于喜欢使用专业器材拍照摄影的小伙伴来说&#xff0c;想要将相机存储卡中的照片或视频导出到电脑上&#xff0c;要么是使用数据线直接和相机连接&#xff0c;…

window下的qt5.14.2配置vs2022

这里做一个笔记&#xff0c;已知qt5.14.2和vs2022不兼容&#xff0c;无法自动扫描到vs的编译器。但由于团队协作原因&#xff0c;必须使用qt5.14.2&#xff0c;并且第三方库又依赖vs2022。其实qt5.15.2是支持vs2022的&#xff0c;如果能够用qt5.15.2&#xff0c;还是建议使用qt…

QT从入门到精通(一)——Qlabel介绍与使用

1. QT介绍——代码测试 Qt 是一个跨平台的应用程序开发框架&#xff0c;广泛用于开发图形用户界面&#xff08;GUI&#xff09;应用程序&#xff0c;也支持非图形应用程序的开发。Qt 提供了一套工具和库&#xff0c;使得开发者能够高效地构建高性能、可移植的应用程序。以下是…

【协作笔记Trilium Notes Docker部署】开源协作笔记Trilium Notes本地Docker部署远程协作

文章目录 前言1. 安装docker与docker-compose2. 启动容器运行镜像3. 本地访问测试4.安装内网穿透5. 创建公网地址6. 创建固定公网地址 前言 今天分享一款在G站获得了26K的强大的开源在线协作笔记软件&#xff0c;Trilium Notes的中文版如何在Linux环境使用docker本地部署&…

app的测试范围以及web和app的测试区别

目录 图1.App的测试范围1.1功能测试1.2专项测试1.3性能测试 2.Web和App的测试区别2.1相同点2.2不同点 &#x1f44d; 点赞&#xff0c;你的认可是我创作的动力&#xff01; ⭐️ 收藏&#xff0c;你的青睐是我努力的方向&#xff01; ✏️ 评论&#xff0c;你的意见是我进步的…

数据分析实战—鸢尾花数据分类

1.实战内容 (1) 加载鸢尾花数据集(iris.txt)并存到iris_df中,使用seaborn.lmplot寻找class&#xff08;种类&#xff09;项中的异常值&#xff0c;其他异常值也同时处理 。 import pandas as pd from sklearn.datasets import load_iris pd.set_option(display.max_columns, N…

docker 拉取镜像 | 创建容器 | 容器运行

拉取镜像 拉取镜像的命令&#xff1a;docker pull name &#xff08;name换为你要拉取的镜像名&#xff09; docker pull docker.1panel.live/hispark/qiankunbp:1.0.0 docker.1panel.live/hispark/qiankunbp:1.0.0为镜像名 拉取海思的镜像&#xff1a;&#xff08;如果之前拉…