目前最流行的开源操作系统内核,主要私有云的管理系统。
- OpenStack的架构定位与技术范畴
OpenStack只是系统的控制面。
OpenStack不包括系统的数据面组件,如hypervisor、存储和网络设备等。 - 云和虚拟化的区别
云计算:IT能力服务化; 按需使用,按量计费; 多租户隔离;
虚拟化:环境隔离,资源复用; 降低隔离损耗,提升运行效率; 提供高级虚拟化特性。
其主要特征功能如下:
- 资源抽象
OpenStack将各类硬件资源,通过虚拟化与软件定义的方式,抽象成资源池。 - 资源分配与负载调度
OpenStack根据管理员/用户的需求,将资源池中的资源分配给不同的用户,承载不同的应用。 - 应用声明周期管理
OpenStack已经可以提供初步的应用部署/撤除、自动规模调整能力。 - 系统运维
OpenStack已经可以提供一定的系统监控能力。 - 人机交互
OpenStack提供人机接口,外界可以通过API、命令行或图形界面的方式参与OpenStack进行交互。
基本设计思想:
- 开放
开源,并尽最大可能重用已有的开源项目。
不要“重复发明轮子”,而要“站在巨人的肩膀上”。 - 灵活
不使用任何不可太低的私有/商有组件。
大量使用插件化方式进行架构设计与实现。 - 可扩展
由多个相互独立的项目组成。
每个项目包含多个独立的组件
无中心架构。
无状态架构。
OpenStack只是构建云的关键组件,内核、骨干、框架、总线,构建一个云,还需要许多东西;
OpenStack服务简介:
服务 | 项目名称 | 描述 |
---|---|---|
Dashboard | Horizon | 提供了一个基于web的自主服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。 |
Computer | Nova | 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。 |
Network | Neutron | 确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。 |
Objecet Storage | Swift | 通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。 |
Block Storage | Cinder | 为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。 |
Identity Service | Keystone | 为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。 |
Image Service | Glance | 存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。 |
Telemetry Service | Ceilmeter | 为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。 |
Orchestration Service | Heat | 既可以使用本地模板格式,亦可使用AWS CloudFormation模板格式,来编排多个综合的云应用,通过OpenStack本地REST API或者是CloudFormation相兼容的队列API。 |
OpenStack的分层:
OpenStack新建云主机流程: