云计算以及openstack介绍
目录
1、云计算
(1)云的愿景
使用计算资源和使用网络资源向使用自来水一样按需有偿自由提供。
(2)云计算的定义
云计算是一种按使用量付费的模式也是一种模型,实现无处不在的、方便、通过网络按需访问的可配置的共享计算资源池(例如,网络、服务器、存储、应用程序、服务),这些资源可以快速提供,通过最小化管理成本或与服务提供商进行交互。云计算模型有五个基本特性,三个服务模型以及四个部署模型。
(3)基本特性
①按需自助服务 – 消费者能够单方面按需调配计算资源,例如服务器时间和网络存储,这些是无需人为干涉自动进行的。
②广泛网络访问 –通过各种瘦或胖客户端(移动电话、平板电脑、便携式电脑和工作站)使用标准机制通过网络访问资源。
③资源池 – 通过多租户模型,供应商的计算资源池可服务多位消费者,根据用户需求动态或重新分配不同的物理和虚拟资源。资源是与位置无关的,客户通常无法控制或知道资源的精确位置,但可以在更高层抽象(例如,国家、洲或数据中心)上指定位置。资源例子包括存储、处理器、内存和网络带宽。
④快速可伸缩性 – 资源能被弹性配置和发布,在有些场景下,可按需自动而快速的横向扩展和收缩。对于消费者而言,可调配的资源总是无限可用的,可在任何时候使用任意数量的资源。
⑤可度量服务 – 云计算系统能够自动控制并优化资源的使用,通过适用于服务类型的某些抽象层级的度量机制(例如,存储、处理器、带宽以及活动的用户帐户)。能够监控、控制和报告资源使用率,为服务提供商和消费者提供透明的服务使用情况。
(4)服务模型
①Software-as-a-Service (SaaS) – 提供给消费者的资源是运行在云计算基础架构上的服务商提供的应用程序。各种客户端通过搜客户端接口访问该应用程序,例如Web浏览器,或程序接口。消费者并不管理或控制底层的云计算基础架构,包括网络、服务器、操作系统、存储、甚至应用程序本身的功能,只允许部分受限的用户设置特定的应用程序设置。
②Platform-as-a-Service(PaaS) - 提供给消费者的资源是可以使用由服务商支持的编程语言、库、服务和工具,把由消费者创建或购买的应用程序部署在云计算基础设施上的能力。消费者并不管理或控制底层云计算基础设施,包括网络、服务器、操作系统、存储,但对部署的应用程序有控制权,还可以配置应用程序所在宿主机的环境。
③Infrastructure-as-a-Service(IaaS)- 提供给消费者的资源是可调配的处理器、存储、网络以及其他可用于运行任意软件的基础计算资源,包括操作系统和应用程序。消费者并不管理或控制底层云计算基础架构,但可以控制操作系统、存储和部署的应用程序,可能还被允许有限制的控制网络组件(例如,主机防火墙)。
(5)部署模型
①私有云 – 云计算基础架构提供给包含多个消费者的单一组织专门使用。该云计算基础架构可以由该组织、第三方机构或他们的组合来拥有、管理和运营,基础架构可以位于组织内部或外部。
社区云 - 云计算基础架构提供给一个由多个组织的成员组成的消费者社区专门使用,这些组织有共同关注的话题(例如,任务、安全需求、政策、合规性考量)。该云计算基础架构可以由该社区中的一个或多个组织、第三方机构或他们的组合来拥有、管理和运营,基础架构可位于组织内部或外部。
②公有云 - 云计算基础架构提供给公众开放使用,该云计算基础架构可以由商业机构、学术组织或政府机关、或者他们的组合来拥有、管理和运营,基础架构位于云计算服务提供商内部。
③混合云 – 由两个或多个独立的不同云计算基础架构(私有、社区或公有)组成,他们通过标准或私有技术被绑定在一起,实现数据和应用程序的可移植性(例如,当云爆发时实现多云之间的负载均衡)。
2、Openstack
(1)介绍
OpenStacks是一整套开源软件项目的综合,是一个云平台管理的项目,它不是一个软件。这个项目是由几个主要的组件组合起来完成一些工作。它是由美国国家航天局和RackSpace合作研发的,以Apache许可证授权,并且是一个自由软件。它可以通过web界面提供资源管理,通过一个仪表盘管理整个数据中心的计算储存资源等。
(2)重要构成部分
①Nova -- 计算服务:(compute)提供虚拟主机,对应亚马逊EC2。通过虚拟化技术,例如KVM、Xen、VMwareEsxi等实现计算、网络、储存等资源池的构建以及应用,将计算能力通过虚拟机的方式交付给用户。
②Swift -- 储存服务:为openstack提供一种分布式、持续虚拟对象存储。
③Glance -- 镜像服务:是一套虚拟镜像发现、注册、检索系统,我们将镜像储存到本地文件系统中。
④Keystone -- 认证服务:为openstack所有的系统提供统一的授权和身份验证服务。
⑤Horizon -- UI服务:(dashboard)基于openstackAPI接口开发的web呈现。
图1 openstack的基本架构
图2 keystone、dashboard两者与openstack的部分交互图
(3)openstack计算设施--nova
①nova 是 OpenStack 计算的弹性控制器。OpenStack 云实例生命期所需的各种动作都将由 Nova 进行处理和支撑,这就意味着 Nova 以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然 Nova本身并不提供任何虚拟能力,但是它将使用 libvirt API 与虚拟机的宿主机进行交互。Nova通过Web 服务 API来对外提供处理接口,而且这些接口与亚马逊的Web服务接口是兼容的。
②openstack计算部件
Nova弹性云包含以下主要部分:
【1】API Server (nova-api):API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。 通过使用web服务来调用各种EC2的APL接着API服务器便通过消息队列把请求送达至 云内目标设施进行处理。作为对EC2-api的替代,用户也可以使OpenStack的原生APL 我们把它叫做“OpenStack API”。
【2】消息队列(rabbitmq-server):OpenStack内部在遵循AMQP (高级消息队列协议)的基础上釆用消息队列进行通信。 Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通 信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较 为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用, 使整个系统变得更加高效。
【3】运算工作站(nova-compute):运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行, 从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法, 一个实例可以在可用的任意一台运算工作站上部署。
【4】网络控制器(nova・network):网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组 以及为计算节点配置网络。
【5】卷管理(nova-volume):卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从 一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比 如当结束一个实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据仍然 保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问.因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储 而言,尤为重要。
【6】调度器(nova-scheduler):调度器负责把nova-API调用送达给目标。调度器以名为"nova-schedule"的守护进程 方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响 调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器釆用的 是可插入式架构。
目前nova调度器使用了几种基本的调度算法:
随机化:主机随机选择可用节点;
可用化:与随机相似,只是随机选择的范围被指定;
简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得, 如负载均衡服务器。
(4)openstack镜像服务器--Glance
openstack镜像服务器是一套虚拟镜像发现、注册、检索系统,我们将镜像储存到本地文件系统中。提供镜像相关服务。
Glance构件:Glance注册器和Glance控制器
(5)openstack存储设施--Swift
swift为 OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift 内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。
(6)openstack认证服务--Keystone
①Keystone为所有的 OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于 IdentityAPI)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。
图3 keystone原理图
②Keystone 采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone 提供以下三种服务:令牌服务(含有授权用户的授权信息)、目录服务(含有用户合法操作的可用服务列表)、策略服务(利用keystone具体指定用户或群组某些访问权限)
③认证服务组件
【1】服务入口:如nova、swift和glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。
【2】区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。
【3】用户:Keystone 授权使用者。
【4】服务:任何通过 Keystone 进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为 Keystone 的服务。
【5】角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。
【6】租间:指的是具有全部服务入口并配有特定成员角色的一个项目。 一个租间映射到一个nova的project-id。
(7)openstack管理的web接口--Horizon
Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜 像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制而板中 使用终端(console)或VNC直接访问实例。
补充:(1)Controller:控制器节点运行身份服务,图像服务,放置服务,计算的管理部分,网络的管理部分,各种网络代理和仪表板。它还包括支持服务,例如SQL数据库,消息队列和NTP。可选地,控制器节点运行块存储,对象存储,编排和遥测服务的部分。控制器节点至少需要两个网络接口。(2)Compute:计算节点运行操作实例的Compute的管理程序部分。默认情况下,Compute使用 KVM管理程序。计算节点还运行网络服务代理,该服务将实例连接到虚拟网络,并通过安全组为实例提供防火墙服务。您可以部署多个计算节点。每个节点至少需要两个网络接口。(3)Block storage:可选的块存储节点包含块存储和共享文件系统服务为实例提供的磁盘。为简单起见,计算节点与该节点之间的服务流量使用管理网络。生产环境应实施单独的存储网络以提高性能和安全性。您可以部署多个块存储节点。每个节点至少需要一个网络接口。(4)Object storage:可选的“对象存储”节点包含对象存储服务用于存储帐户,容器和对象的磁盘。为简单起见,计算节点与该节点之间的服务流量使用管理网络。生产环境应实施单独的存储网络以提高性能和安全性。该服务需要两个节点。每个节点至少需要一个网络接口。您可以部署两个以上的对象存储节点。
转载:https://blog.csdn.net/xueyuhui1/article/details/112487203