【Centos7系列】OpenStack 简介

Iceboundnana 发布于 2023-06-05 1.26k 次阅读


OpenStack 介绍

OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构

云计算模式

Iaas基础设施即服务

用户通过网络获取虚拟机、存储等,根据自己的需求获取资源
例如Openstack

Paas平台即服务

将软件研发平台作为一种服务
例如Docker

Saas软件即服务

将软件作为一种服务通过网络提供给用户,用户无需购买软件,而是向提供商租用基于web的软件,来管理企业经营活动,web的电子邮件、HR系统、订单管理系统、客户关系系统……

相关组件

keystone:认证服务,Keystone 认证所有 OpenStack 服务并对其进行授权;同时,它也是所有服务的端点目录

glance:镜像服务,Glance 可存储和检索多个位置的虚拟机磁盘镜像

nova:计算服务,是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作

neutron:网络服务,Neutron 能够连接其他 OpenStack 服务并连接网络

dashboard:web管理界面

Swift:高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象

Cinder:通过自助服务 API 访问持久块存储

Ceilometer:计量服务

Heat:编排服务

基本架构

  1. 每个项目都有各自的特性,大而全的架构并非适合每一个用户
  2. Nova可以脱离镜像服务独立运行,当用户的云计算规模大到需要管理多种镜像时,才需要像 Glance 这样的组件

逻辑框架

工作流程

  1. 用户(可以是 OpenStack 最终用户,也可以是其他程序)向API(nova-api)发送请求:“帮我创建一个虚机”
  2. API对请求做一些必要处理后,向 Messaging(RabbitMQ)发送了一条消息:“让 Scheduler 创建一个虚机”
  3. Scheduler(nova-scheduler)从 Messaging 获取到API发给它的消息,然后执行调度算法,从若干计算节点中选出节点 A ;
  4. Scheduler 向 Messaging 发送了一条消息:“在计算节点 A 上创建这个虚机”
  5. 计算节点 A 的 Compute(nova-compute)从 Messaging 中获取到Scheduler 发给它的消息,然后在本节点的 Hypervisor 上启动虚机;
  6. 在虚机创建的过程中,Compute 如果需要查询或更新数据库信息,会通过 Messaging 向 Conductor(nova-conductor)发送消息,Conductor负责数据库访问

此作者没有提供个人介绍。
最后更新于 2023-06-05