云计算
什么是云计算
云计算是一种按使用量付费的模式,这种模式提供可用的,便捷的,按需的网络访问,通过互联网进入可配置的计算资源共享池(资源包括,计算,存储,应用软件和服务)
云计算的特征
- 易于管理:无需基础设施维护
- 高灵活度:可伸缩,无地域限制
- 高资源利用率:负载平衡,资源共享
- 高可用性:服务质量保证,异地容灾,
- 低成本:无前期投入,按需购买
- 安全性:统一集中式数据管理,多种密钥技术保护
云计算服务模式
- SaaS --( Software as a Service):软件即服务,侧重于服务,通过网络提供软件程序服务
- PaaS --(Platform as a Service):平台即服务,侧重于服务,以服务平台或者开发环境提供服务
- IaaS --(Infrastructure as a Service):基础设施服务即服务,注重计算资源共享,消费者通过Internet可以从完善的计算机基础设施获得服务
![1675881-20190801143831086-623539973.jpg](https://i-blog.csdnimg.cn/blog_migrate/d8c6e8974410f9bf7740220d51d5094c.jpeg)
openstack
openstack简介
OpenStack 是当前热门的云服务平台,目前各大企业及个人都积极参与的开源项目,OpenStack 是由 NASA 和 RackSpace 合作研发的云计算平台,用Python语言编写,可以帮助企业实现类似于 Amazon EC2 和 S3 的云服务基础架构服务即 Iaas(Infrastructure as a Service)平台。
Openstack 的主要组件有 Nova、Cinder、Neutron、Glance 等,分别负责云平台的计算、存储、网络资源管理。OpenStack 各组件之间是通过 REST 接口进行相互通信,而各组件内部则采用了基于 AMQP 模型的 RPC 通信。
Oenstack 的架构优势:1、模块松耦合 2、组件配置较为灵活 3、二次开发容易
openstack 相关链接
openstack 官网: http://www.openstack.org
openstack 社区/论坛: http://wiki.openstack.org
openstack 如何贡献代码: http://wiki.openstack.org/HowToContribute
openstack 源代码管理:http://wiki.openstack.org/GerritWorkflow
openstack 文档:http://docs.openstack.org
openstack 邮件列表:
http://wiki.openstack.org/MailingLists#General_Listhttp://wiki.openstack.org/MailingLists#Development_Listhttp://wiki.openstack.org/MailingLists#Operators
openstack 主要模块
1. 身份服务( Identity Service ):Keystone
keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云平台中第一个即需要安装的服务。
2. 计算( Compute ): Nova
Nova 负责维护和管理云环境的计算资源,Nova这个模块很重要,可以说是 OpenStack 的最核心的服务模块之一,以至于在 OpenStack 的初期版本里大部分的云系统管理功能都是由该模块负责管理的,只不过后来为了减轻该“车间主任”的压力,也便于功能分配管理,才把虚拟存储、网络等部分分离出来,而使该模块主要负责云虚拟机实例(Compute 或 Instance) 的生成、监测、终止等管理功能。
3. 镜像服务( Image Service ): Glance
提供云虚拟机上的服务镜像(Image)功能,该模块可看成车间里的模具生产部门,其功能包括虚拟机镜像的查找、注册和检索等。该模具最基本的使用方式就是在为云虚拟机实例提供安装操作系统的模式,比如 RedHat Linux、Ubuntu、Windows 等。同时云服务使用者也可以在已经生成和个性化安装后的云虚拟机实例来生成自定义的镜像。这样以后就可以根据该自定义镜像直接生成所需的虚拟机实例。
4. 网络 & 地址管理( Network ): Neutron
提供 OpenStack 虚拟网络服务,也是 OpenStack 重要的核心模块之一,该模块最开始是 Nova 的一部分,叫 nova-network,后来从 Nova 中分离出来,开始名字为 Quantum,后来由于商业名权的原因改为了 Neutron。该模块之所以重要是因为如果没有虚拟网络服务,OpenStack 就变为单纯提供虚拟机实例和虚拟存储服务的平台,这就违背了提供分布式虚拟服务的云计算核心价值。该模块不仅提供基本的创建子网、路由和为虚拟机实例分配 IP 地址功能,还提供了
a. 同时支持多种物理网络类型,支持 Linux Bridge、Hyper-V 和 OVS bridge 计算节点共存;
b. 支持防火墙服务;
c. 支持虚拟网络中节点间 VPN 服务;
d. SDN 实现完善和提高。
5. 对象存储( Object Storage ): Swift
提供 OpenStack 对象存储,存储的是一些资源文件,如图片、代码等文件。对象存储服务是OpenStack最早期的两个服务之一(另一个是计算服务),在OpenStack平台中,任何的数据都是一个对象。
6. 块存储 (Block Storage) : Cinder
提供 OpenStack 存储块(Volume)服务,该管理模块原来也为 Nova 的一部分,即 Nova-volume,后来从 Folsom 版本开始使用 Cinder 来分离出块存储服务。具体地说 Cinder 是云存储服务的调度监控模块,它需要与如 NFS、Ceph 等网络文件系统配合使用。
7. UI 界面 (Dashboard) : Horizon
Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashBoard 服务 , 管理员可以使用通过 WEB UI 对 Openstack 整体云环境进行管理 , 并可直观看到各种操作结果与运行状态。
8. 测量 (Metering) : Ceilometer
Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。
Celiometer是OpenStack的计量与监控组件,官方的正式名称为OpenStack Telemetry,用来获取和保存计量与监控的各种测量值,并根据测量值进行报警。同时这些保存下来的测量值也可以被第三方系统获取,用来做更进一步的分析、处理或展示。
9. 部署编排 (Orchestration) : Heat
Heat是OpenStack提供的自动编排功能的组件,基于描述性的模板,来编排复合云应用程序; 用户可以通过OpenStack管理控制台、Heat命令行工具或 API对模板及其相关的资源集进行设置和更新。
OpenStack共享服务组件:
服务 | 组件 |
---|---|
数据库服务( Database Service ) | MairaDB 及 MongoDB |
消息传输(Message Queues) | RabbitMQ |
缓存(cache) | Memcached |
时间(time sync) | NTP |
存储(storge provider) | eph、GFS、LVM、ISICI等 |
高可用及负载均衡 | pacemaker、HAproxy、keepalive、lvs等 |
openstack系统架构图
![1675881-20190804113239027-15082425.png](https://i-blog.csdnimg.cn/blog_migrate/6be0fb99701ebd4a9f9dec74b300d029.png)