云计算概述

美国国家标准与技术研究所(NIST)对云计算的定义
云计算是一种模型,它可以实现随时随地,便捷地,随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。

个人理解,就是分布式的计算资源(网络、服务器、存储等)统合成一个计算资源池,然后可以被按需申请获取和快速释放。

OpenStack定义


定义: OpenStack对数据中心的计算、存储和网络资源进行同一管理 。
我们可以把OpenStack管理的资源看作是虚拟机,那么OpenStack就是一个负责启动和管理虚拟机的软件。
OpenStack是搭建云平台的解决方案,在云计算中属于IaaS服务类型。

  • 官方网站:https://www.openstack.org/
  • 官方文档:https://docs.openstack.org/

    OpenStack的架构和组件

    openstack基础架构

    image.png
    可以看到openstack是将计算、网络、存储三大资源整合提供服务的。

    openstack核心组件

    | Keystone | 认证服务,为各种服务提供认证和权限管理。 | | —- | —- | | Glance | 镜像服务,管理VM启动时的镜像。 | | Nova | 计算服务,管理VM的生命周期(核心),即虚拟机的创建、删除和暂停。 | | Neutron | 网络服务,提供网络连接服务。 | | Cinder | 块存储服务,Cinder的每一个Volume对于VM来说都像是一块disk。 | | Swift | 对象存储服务,通过Restful API存储对象数据。 | | Horizon | 为用户提供一个web portal | | Ceilometer | 监控计量服务,为报警、统计或计费提供数据。 |

openstack各组件之间的关系

Nova提供计算服务,所有计算实例都有Nova调度生命周期,如虚拟机的创建、删除和暂停。

每个虚拟机创建不可能都从头开始创建,于是Glance的镜像就派上作用了。

虚拟机肯定需要上网,就需要Neutron提供网络连接服务。

安装虚拟机肯定会有存储空间太少需要扩容,这时候就需要Cinder提供块存储服务。

以上四个组件可以让一个实例运行起来,但不是任何人都可以在我搭建的云上创建虚拟机的,所以需要Keystone进行认证。

如果用户租用了环境,如何监控用户使用了哪些资源呢,这就需要Ceilometer组件提供监控计费服务。
如果用户觉得命令操作麻烦,需要更友好的操作界面,可以通过Horizon服务提供web端可视化界面。
为了给用户提供更优质的服务并且减少不必要的资源浪费,可以通过Swift提供对象存储服务。对象存储举个例子,酒店的帮助停车服务,你需要把车和钥匙交给服务人员并获取一个收据,通过这个收据来取您的车,在这个过程中并不知道你的车被服务人员停在哪个车位或移动过几次。这个收据就是对象存储中对应对象资源的唯一标识符Key

image.png