FusionSphere OpenStack 6.5方案介绍

OpenStack 系统架构

OpenStack什么

OpenStack是目前最流行的开源操作系统

openstack为什么是云操作系统?

openstack是不是操作系统?——》不是

操作系统哪些功能

  1. 识别驱动硬件
  2. 抽象逻辑硬件
  3. 分配资源应用程序
  4. 应用程序生命周期管理
  5. 人机交互界面cli web
  6. 故障监控设置

openstack类似于操作系统功能,有是用于管理云的,所以openstack操作系统

社区项目分层

在这里插入图片描述

逻辑关系

在这里插入图片描述

openstack中的存储:

1、cinder的块存储

2、swift的对象存储

3、manila文件存储

4、nova本地存储

节点本地存储可能nova的本地存储,也可能cinder的块存储(lvm)|

Nova计算服务

hypervisor实现计算虚拟化,Nova负责提供计算服务

OpenStack组件不能实现虚拟化!!!

在这里插入图片描述

rest api(友好)

位于openstack和*人/第三方组件keystone)*之间,类似于方向盘方便人/第三方组件和OpenStack交互
在这里插入图片描述

nova计算服务

  1. 基于rest api
  2. 水平扩展
  3. 硬件无关(组件运行os)
  4. 虚拟化平台无关(通过dirver对接虚拟化平台)

在这里插入图片描述

系统架构

OpenStack内部三种组件

1、openstack本身的服务: 比如计算nova、块存储cinder等

2、服务内部子组件: 比如nova内部的apilcompute等

3、openstack所使用公共组件: DB(数据库)、MQ(消息队列

三种访问方式

1、openstack不同服务的通信比如nova访问keystone,glance访问swift(基于httprest api访问)

2、服务内部子组件通信,比如nova内部的api访问compute (基于MQ的rpc调用)

3、访问数据库

Nova创建一个虚拟机流程

  1. user向nova发出创建虚拟机请求
  2. nova-api接收处理(1、身份认证鉴权。2、配置校验申请。3、数据库)
  3. nova-api组装请求+scheduler相关信息 (flavorazimage等)发送给conductor。
  4. nova-conductor转发给nova-scheduler选择主机
  5. novascheduler根据前面scheduler选择主机(1、filter。2.1、权重,默认内存、可选CPU;2.2、随机)
  6. novascheduler主机返回给novaconductor。
  7. novaconductor调用主机对应的novacompute,要求创建虚拟机
  8. novacompute对计算资源加锁
  9. novacompute请求neutron准备port
  10. novacompute请求cinder准备disk
  11. 启动虚拟机
    12.novacompute向glance下载镜像
  12. 生成虚拟机xml
  13. 通过dirver调用libvirt接口拉起虚拟机
    在这里插入图片描述

控制节点部署绝大部分openstack组件(及其内部子组件)

计算节点运行虚拟机

资源池管理

开源:

  1. region:地理上的区域
  2. 可用分区:具备相同的供电、制冷的主机集合,实际上可理解一个机房
  3. 机组:具备相同属性的的主机集合,比如,具备SSD的主机的集合

华为:

  1. region:地理上的区域
  2. 可用分区:具备相同网络、存储环境的主机集合,可实现热迁移、HA。隐藏要求:必须是同种虚拟化。比如KVM,或者XEN
  3. 机组:具备相同属性的的主机集合隐藏要求:必须是同种虚拟化。比如KVM,或者XEN

在这里插入图片描述

FusionCloud6.3及以后使用KVM,6.3以前使用VRM (XEN)

主机到底是不是一个服务器呢?

1、KVM、XEN等——》一个nova-compute对应一个主机,对应一个服务器。(如图上面的)

2、vsphere(VM公司的)、VRM(早期华为公司基于XEN开发的)——》一对nova-compute对应一套VRM或者vsphere,后端可能多个CNA,openstack上的一个”主机”对应的是VRM或者vphere上一个集群集群可能包含 0~N 服务器 。(如图下面的)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ezSSIfX-1672748301373)(D:代码笔记HCIE—Cloud Compueing V2.0云计算运营image-20230102202924724.png)]

单点or集群

在这里插入图片描述

在这里插入图片描述

keystone-认证鉴权、服务目录认证鉴权

认证鉴权

服务目录

对象模型

在这里插入图片描述

Token

token在openstack中的使用?

  1. 申请,用户使用用户名密码keystone进行认证申请
  2. 使用,用户携带token请求apiapi剥离找keystone验证
  3. 在同个服务内,不需要再次验证token。如果跨服务,需要再次验证token

token记录用户名密码domain 作用域(domainproject)、有效期。

在这里插入图片描述

token类型
1、uuid

每次验证需要访问keystone服务端

过程:

client携带用户名密码keystone申请UUID , keystone生成本保存一份,向client发送一份,client保存client向api发送请求时,会在请求头部携带token。api收到后,剥离向keystone进行验证。keystone与本地保存的token比较正确200,错误401

优点:

缺点:

  • keystone需要在存储中持久保存一份token,存储压力大。
  • api每次请求,均需要到keystone验证,keystone负载压力大。
2、PKI

PKI: Token验证在客户端即可完成

原理:非对称算法公钥私钥

公钥加密,需要私钥解密加密传输)。

私钥加密,需要公钥解密(CA证书)。

银行网站 证书颁发机构
api client(客户端) keystone

pki token类似于CA证书

在这里插入图片描述

RabbitMQ-消息队列

注意MQ不是openstack的组件

服务内组件之间消息全部通过MQ来进行转发,包括控制、查询监控指标等。

跨服务就用http协议

MQ优点:解耦服务内各子组件之间的专用连接

部罢方式:多活部罢

cinder-持久化的块存储服务

cinder架构:

1、cinder-api:对外提供rest api入口;找keystone认证鉴权;记录DB;调用后端组件完成相应请求——》控制节点、多活部署
2、cinder-scheduler:筛选主机。——》控制节点、多活部署

filter:权重:已使用存储空间最少胜出;未使用存储空间最多胜出

3、cinder-volume:通过不同的驱动对接不同的后端存储。——》计算节点、多活部署
4、cinder- backup:备份功能

在这里插入图片描述

Glance-镜像服务管理

华为里面GLance叫这个个名字——manila文件存储服务
manila-api
manila-scheduler
manila-sharecinder-volume类似,对接后端存储。
提供文件共享服务:CIFS、NFS

glance:镜像管理服务

glance-api:rest api接口,keystone认证鉴权,DB操作,调用其他组件,上传下载镜像

glanceregisty:上传镜像时查询数据库下载镜像时记录数据库

两个流程:

上传∶请求API,API调用registry,记录存储位置,返回结果通过api上传镜像到后端存储中

下载:请求API,API调用registry查询存储位置,返回结果通过api到后端存储中下载镜像

neutron网络服务

(软件定义服务)

Management Network

提供Openstack组件间的内部通信。该网络内的IP地址只有数据中心内部可达。

Data Network
提供云内部VM间数据通信。该网络内的IP地址取决于使用的网络插件程序

External Network
提供VM与外部Internet间的通信。Internet上的任何人都可以访问该网络内的IP地

API Network
租户提供包括Networking API在内的所有Openstack API。该网络内的IP地址应该被允许Internet上的任何人可达。该网络基本上与External Network一样,我们甚至可以创建一个externalnetwork子网作为该网络。

架构

一、neutronserver(核心,实现绝大部分控制功能)

二、neutronxxxagent (代理,通过相应驱动驱动不同的软件硬件实现相应的网络服务)

ceilometer-计量、监控服务

特别注意,没有计费功能

1、ceilometer-agent-compute
收集VM的信息(主动调用libvirt API)

2、ceilometer-agenthardware
收集物理服务器的信息(主动调用host os命令)

3、ceilometer-agent-central
收集openstack组件的信息(主动调用其他组件API)

4、ceilometer-agentnotification
收集MQ的信息(被动监听收集MQ的信息)

原文地址:https://blog.csdn.net/wushibo123/article/details/128538771

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_38260.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注