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:编排服务
基本架构

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

逻辑框架

工作流程

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

Comments 1 条评论
泰裤辣!