云计算HCIP-OpenStack02

devtools/2024/12/21 23:55:21/
书接上回: 云计算HCIP-OpenStack01-CSDN博客

7.OpenStack核心服务

7.1Horizon:界面管理服务

Horizon提供了OpenStack中基于web界面的管理控制页面,用户或者是管理员都需要通过该服务进行OpenStack的访问和控制

界面管理服务需要依赖于keystone服务进行访问控制和权限管理。登录用户的角色、权限都需要依赖keystone认证服务进行管理。

7.2Keystone:认证管理服务

提供身份验证,服务发现,分布式多租户授权(分布式代表keystone并不是一个节点,多租户指的就是用户数量非常的多,授权代表keystone可以记录每个用户的权限)

7.2.1账户、用户、租户、账号

账户和账号本身来说可以理解为是一个概念,用户是使用资源的对象,用户分为人机用户和机机用户,用户和账户是一对多的关系。如果账户的使用单位是一个集体,比如公司账号或者部门账号,为了进行管理,可以在账户的下面创建租户,租户属于账户。

7.2.2权限管理:用户/租户/账户、用户组、角色、权限

一个良好的权限管理框架,要保证权限的分配最小化。权限分配的步骤最小化。

权限分配给角色,角色分配给用户组,用户选择性加组。加组的用户继承用户组的角色,拥有角色的权限。

Keystone核心组件有LDAP(核心数据库)、Oauth(认证管理服务)、OpenIDConnect(连接转发服务)。Keystone是OpenStack中最核心的服务。在公有云中,我们一般称该服务为IAM服务,缩写可能根据厂商的不同有区别,但是中文翻译为统一身份认证服务。如果统一身份认证服务出现故障,那么整个云框架的所有服务都会处于不可用状态。

7.3Glance:镜像服务

对于OpenStack而言,其提供的是IaaS基础设施服务,通过OpenStack用户可以创建虚拟机、裸金属、容器。但是这些资源都要有操作系统,操作系统的安装、部署、维护就需要通过镜像去实现。在最早的OpenStack A版本中,在没有镜像服务的前提下,所有用户都需要自行维护自己所使用的镜像,这就导致重复的镜像多次上传,镜像之间的共享无法实现。所以为了提升共享性、同时降低重复镜像的上传,节约存储空间。在B版本中发布了Glance镜像服务。

镜像服务分为了公共镜像、私有镜像、共享镜像三个类型

公共镜像一般是由OpenStack的管理员上传的面向于所有普通用户的镜像。普通用户创建资源的时候看到的公共镜像,这个状态就叫做镜像发现

私有镜像一般是用户自定义的镜像。当用户上传自己的私有镜像到云上的时候,就叫做镜像注册。当用户有大量镜像需要筛选,就叫做镜像检索

当用户将自己的私有镜像传递给其他用户使用的时候,这个镜像就叫做共享镜像。

镜像可以存储在本地、对象存储或者是块存储等有存储空间的位置。

7.4Nova:计算服务

提供大规模(可以允许海量计算资源的管理),可扩展(资源不足的时候可以允许动态扩展物理资源),按需自助服务(计算资源的创建封装等一系列操作是不需要人为干预的,OpenStack可以自动化执行)。

Nova需要管理裸机(裸金属)、虚拟机和容器。提供最基础的计算资源虚拟化服务

Nova依赖镜像服务,网络服务。

7.5Cinder:块存储服务

所谓块存储就是SAN存储服务,Cinder可以将物理存储虚拟化成逻辑硬盘。Cinder提供的是持久化的存储。Cinder将所有的物理存储空间整合为一个逻辑的存储资源池,然后按需进行资源分配。用户视角只能看到资源池。存储空间来自于哪个设备的哪块硬盘是不可见的。

7.6Swift:对象存储服务

对象存储具有高可用性(高安全性保护),分布式(存储空间的提供不是由某一台设备实现的,而是最少3台)

7.7Neutron:网络服务

本质上是SDN(Software design Network软件定义网络),通过软件实现网络的虚拟化功能。

Neutron可以实现的最大的价值就是通过它可以实现VXLAN(隧道网络。如果没有VXLAN技术,就没有现在的云服务。

8.OpenStack创建一个VM的流程

  1. 用户下发一个创建的请求,从Horizon界面进行任务的下发。
  2. OpenStack的管理进程收到请求之后,会将任务拆分,将计算封装任务交给Nova
  3. Nova收到请求之后,会检查集群中负载压力最小的节点,然后将请求转发到该设备上,设备收到请求之后,根据请求中的规格进行资源的封装,形成虚拟机VM。
  4. 虚拟机创建完成之后,本质上是一个空机,所以我们需要提供镜像给虚拟机进行部署。
  5. 镜像安装部署在哪里?目前的虚拟机是没有可以安装的位置的,所以下一步OpenStack就需要根据用户的请求,封装对应大小的硬盘,给VM挂载。然后将镜像安装在硬盘内。
  6. 安装完成之后,为了外部对内部的访问顺畅,我们需要通过Neutron服务,挂载网卡到虚拟机,提供对外访问的服务。
  7. 以下为非必选项:
    1. 如果我们需要对该VM进行保护,那么就可以将Cinder提供的硬盘周期性的备份到OBS对象存储中
    2. 如果用户需要对VM的各项规格进行调整,就会影响和干扰VM的正常运行,属于高危操作。对于高危操作,就必须要用户通过keystone认证,保证用户具有相关的操作权限

接下来,详细展开OpenStack架构组件的说明

9.Horizon架构

  1. 底层服务:Horizon的总体目标是为了通过自身的web界面对其他服务做管理,所以Horizon需要做到和所有服务建立连接。所以Horizon的底层是OpenStack的其他服务。
  2. 那么Horizon如何和其他的服务构建连接呢?因为在设计OpenStack的时候,时间顺序是有先后的。所以Horizon使用的是API连接进行构建。所有的基于Horizon的操作,最终在用户提交的时候,都会被转换成对应组件的API命令进行下发。
  3. 基于对相关服务的连接,我们可以进行查询、创建、修改、删除以及生命周期中所有的资源管理项目的设置。该层叫做view访问层。
  4. Template模板:用户在配置Horizon的相关设置的时候,页面中应该显示什么,需要配置什么,哪些是可选,哪些是必选,这就需要提前在Horizon中预制配置模板。

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


http://www.ppmy.cn/devtools/144212.html

相关文章

GUI07-学工具栏,懂MVC

MVC模式,是天底下编写GUI程序最为经典、实效的一种软件架构模式。当一个人学完菜单栏、开始学习工具栏时,就是他的一生中,最适合开始认识 MVC 模式的好时机之一。这节将安排您学习: Model-View-Controller 模式如何创建工具栏以及…

LSTM (Long Short-Term Memory)

正如其名它是长时记忆和短时记忆相结合 RNN中将序列信息进行运用,但是也存在他的缺点就是随着时间序列的长度增加,产生梯度消失和梯度爆炸问题,因此长期记忆能力有限,所以引出LSTM。(但是对于较短的序列,R…

web实验二

web实验二 2024.12.19 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>青岛理工大学</title>&l…

中阳动态分散投资策略:构建多元化投资组合的科学路径

在现代投资管理中&#xff0c;动态分散投资策略逐渐成为投资者实现风险控制和收益优化的重要方式。中阳凭借多年市场经验&#xff0c;结合数据驱动的投资模型&#xff0c;为客户提供专业化、多元化的资产组合方案&#xff0c;在复杂的市场环境中寻求稳定的增长。 一、动态分散投…

计算机视觉中的图像滤波与增强算法

摘要&#xff1a; 本文深入探讨了计算机视觉领域中的图像滤波与增强算法。首先介绍了图像滤波与增强的基本概念和重要性&#xff0c;随后详细阐述了线性滤波算法中的均值滤波和高斯滤波&#xff0c;以及非线性滤波算法中的中值滤波和双边滤波&#xff0c;包括它们的原理、数学模…

学习日志024--opencv中处理轮廓的函数

目录 前言​​​​​​​ 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …

【面试 - 遇到的问题】Vue 里 router-view 使用 key + 关闭页面后重新打开页面-获取的数据赋值到旧组件问题(钩子执行顺序)

目录 【1】问题描述【2】问题排查前 - 页面渲染、tag 页签渲染 逻辑梳理页面渲染【借用别人的描述】<router-view :key"key" />1. 不设置key 属性2. 设置 key 属性值为 $route.path/page/1 > /page/2/page?id1 > /page?id2, 3. 设置 key 属性值为 $rou…

Spring Boot 2.1.7 数据源自动加载过程详解

在 Spring Boot 中&#xff0c;数据源的自动配置是框架中一个关键功能&#xff0c;本文将以 Spring Boot 2.1.7 版本为例&#xff0c;详细讲解在单数据源情况下数据源是如何自动加载的。我们通过源码分析&#xff0c;追踪整个加载流程。 1. 自动配置类的发现 Spring Boot 使用…