2021-03-24

        OpenStack组件架构简介

VM是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。**Nova:**管理 VM 的生命周期,是 OpenStack 中最核心的服务;
**Neutron:**为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM 提供虚拟网络和物理网络连接;
**- Glance:**管理 VM 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像;
**- Cinder:**为 VM 提供块存储服务。Cinder 提供的每一个 Volume 在 VM 看来就是一块虚拟硬盘,一般用作数据盘;
**- Swift:**提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance 可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中;
**- Keystone:**为 OpenStack 的各种服务提供认证和权限管理服务。简单的说,OpenStack 上的每一个操作都必须通过Keystone 的审核;
**- Ceilometer:**提供 OpenStac k监控和计量服务,为报警、统计或计费提供数据;
**- Horizon:**为 OpenStack用户提供一个 Web 的自服务 Portal;
2 核心组件内部架构
Nova 组件内部架构- API-nova API1、负责接收和响应客户的 API 调用,如:OpenStack API,Amazon EC2 API;- Compute Core1、Nova scheduler:虚拟机调度服务;
Nova compute :调用 Hypervisor API 实现虚机生命周期管理;
Hypervisor:虚机管理最底层,常用的 Hypervisor 有 KVM,Xen,VMWare 等;
Nova conductor:访问数据库,更新数据库状态;-Console interface1、Nova-console:访问虚拟机控制台;
Nova-consoleauth:请求token认证;
Nova-cert:提供x509证书支持;-Database1、通常使用mysql;- Message Queue1、Nova各个子服务之间通信;
默认是用 RabbitMQCinder 包含如下几个组件:cinder-api接收 API 请求,调用 cinder-volume 执行操作。cinder-volume管理 volume的服务,与 volume provider 协调工作,管理 volume 的生命周期。运行 cinder-volume服务的节点被称作为存储节点。
cinder-schedulerscheduler 通过调度算法选择最合适的存储节点创建volume。volume provider数据的存储设备,为 volume 提供物理存储空间。cinder-volume支持多种 volume provider,每种 volume provider 通过自己的 driver 与cinder-volume协调工作。Message QueueCinder各个子服务通过消息队列实现进程间通信和相互协作。因为有了消息队列,子服务之间实现了解耦,这种松散的结构也是分布式系统的重要特征。Database Cinder 有一些数据需要存放到数据库中,一般使用MySQL。数据库是安装在控制节点上的,比如在我们的实验环境中,可以访问名称为“cinder”的数据库。

上一篇:【LeetCode刷题】面试题 17.21. 直方图的水量


下一篇:Docker 笔记(3) image/container/volume 基本命令