资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Openstack基础知识介绍,目录 1、openstack介绍 2、openstack结构,Openstack是当今最流行的开源云平台管理项目,可以控制整个数据中心计算、存储和网络资源的大小资源池。Openstack是一个非常年轻的开源项目,最初是由美国国家航空航天局(NASA)和Rackspace合作研发的项目,2010年7月以Apache2.0许可证授权开源,源代码来自于NASA的Nebula云平台和Rackspace的分布式云存储(Swift)项目。 当今的数据中心,许多服务器都遇到过同样的问题,即计算、电源、网络带宽等资源利用率不足。云计算服务让用户通过一个共享的计算资源、网络带宽、存储池,运行应用程序或服务来完成计算工作。 例如,某个项目可能会需要大量计算资源来完成计算,而一旦完成了计算任务,将不再需要那么多的计算资源。当用户想要一种灵活的、按需供给计算资源的服务, Openstack的优势: 1、解除厂商绑定 2、具有可扩展性及很好的弹性,可定制化IaaS 3、良好的社区氛围 openstack的劣势: 1、入手难、学习曲线较高,在对整体把握不足的情况下,很难快速上手 2、偏底层,需要根据实际应用场景进行二次开发 3、现阶段的厂商支持较弱、商业设备的openstack驱动相对不够全面 云计算按照服务类型可以分为 IaaS(基础架构即服务):最位于最底层,以Amazon和阿里云为代表。通过虚拟化技术将服务器,存储等资源打包,以API接口的形式提 供给用户。用户不再需要租用机房,自己维护服务器。云服务商还可以通过自身强大的数据中心为用户提供多路供电,灾备等高级功能。 PaaS(平台即服务):构建在Iass之上,在基础架构之上还提供业务软件运行的环境,比如数据库服务、web服务等,以GoogleApp Engine为代表。 SaaS(软件即服务):是最成熟,知名度最高的云计算服务类型。SaaS的目标是将一切业务运行的后台环境放在云端,用户通过一个瘦客户 端,通常是web浏览器,使用服务。典型的案例是Salesforce,Salesforce通过向大企业销售云端CRM服务,10年时间,已经成为一个 年收入超过20亿美金的上市公司。 云计算按照部署模式又可以分为公有云、私有云、混合云和行业云等等。,Openstack的结构 openstack包含了许多组件。有些组件会首先出现在孵化项目中,待成熟以后进入下一个openstack发行版的核心服务中。同时也有部分项目是为了更好的支持openstack社区和项目开发管理,不包含在发行版代码中。 Openstack核心服务包括: 1、Nova 计算服务(Compute as a Service) 2、Neutron 网络服务(Networking as a Service) 3、Swift 对象存储服务(Object Storage as a Service) 4、Cinder 块存储服务(Block Storage as a Service) Openstack公共服务包括: 1、Glance 镜像服务(Image as a Seriver) 2、Keystone 认证服务(Identity as a Service) 3、Horizon 仪表盘服务(Dashboard as a Service) Openstack的依赖库项目包括:Oslo基础设施代码共享依赖库(Common Lab as a Service) Openstack的孵化项目包括: 1、Ceilometer 计费&监控服务 2、Heat 编排服务 3、Ironic物理设备服务(Bare Metal as a Service) 4、Marconi 消息队列服务(Message Queue as a Service) 5、Savanna大数据处理(MapReduce as a Service) 6、Trove 数据库服务(DataBase as a Service) openstack的其它项目,OpenStack概念架构,Horizon(Dashboard)与其他主要模块的关联(包括Nova,Cinder,Glance,Swift,Neutron,keystone),通过Ceilometer(监控功能)可以监控的模块(包括Nova,Glance,Cinder,Neutron),Keystone(身份验证功能)模块可以对其他模块进行相应操作进行身份及权限验证(包括Nova,Glance,Cinder,Swift,Neutron,Ceilometer),Cinder连接VM后所产生的数据可以备份到Swift对象存储中 Glance提供镜像可以保存在Switf对象存储中,Openstack设计原则,OpenStack核心系统架构图,Horizon Keystone Nova Glance Cinder Swift Neutron,OpenStack 最简物理架构,2个节点: Cloud Controller Node: Keystone(身份验证服务) Glance(镜像管理服务) Nova (计算资源管理服务) 数据库服务(MySQL) 消息服务(RabbitMQ或QPid) Compute Node: Nova-Compute Nova-Network KVM虚拟化系统2种网络: Internal Network(内部网络) 用于提供Provider网络(VM to Provider) 用于tenant网络(VM to VM) External Network(外部网络) 用于外部用户与VM通信及控制(VM to Internet),OpenStack主要逻辑模块Horizon Dashboard服务,在整个Openstack应用体系框架中,Horizon就是整个应用的入口。它提供了一个模块化的,基于web的图形化界面服务门户。用户可以通过浏览器使用这个Web图形化界面来访问、控制他们的计算、存储和网络资源,如启动实例、分配IP地址、设置访问控制等。,基于Django框架实现,OpenStack主要逻辑模块Horizon 两种功能界面,Horizon为以下两种角色的用户提供了不同的功能及使用界面: 云管理员:提供一个整体视图,可以总览整个云的资源规模及运行状况.可以创建终端用户和项目,想终端用户分配项目并进行项目可使用的资源配额管理。 终端用户(云用户):提供了一个自助服务门户,可以在由云管理分配的项目中,在不超过配额限制的范围内,自由的操作、使用和分配资源。,云管理员,云用户,OpenStack主要逻辑模块Keystone身份验证服务,Keystone作为Openstack的核心模块,为Nova(计算),Glance(镜像),Swift(对象存储),Cinder(块存储),Neutron(网络)以及Horizon(Dashboard)提供认证服务,Keystone基本概念介绍之一,User User即用户,他们代表可以通过keystone进行访问的人或程序。Users通过认证信息(credentials,如密码、API Keys等)进行验证。 Tenant Tenant即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中一个tenant可以是一些机器,在Swift和Glance中一个tenant可以是一些镜像存储,在Neutron中一个tenant可以是一些网络资源。Users默认的总是绑定到某些tenant上。 Role Role即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。Users可以被添加到任意一个全局的或租户的角色中。在全局的role中,用户的role权限作用于所有的租户,即可以对所有的租户执行role规定的权限;在租户内的role中,用户仅能在当前租户内执行role规定的权限。 Service Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表示不同的服务。,Keystone基本概念介绍之二,Endpoint Endpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板,这个模板提供了所有存在的服务endpoints信息。一个endpoint template包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。public url可以被全局访问(如http:/compute.example.com),private url只能被局域网访问(如http:/compute.example.local),admin url被从常规的访问中分离。TokenToken是访问资源的钥匙。它是通过Keystone验证后的返回值,在之后的与其他服务交互中只需要携带Token值即可。每个Token都有一个有效期,Token只在有效期内是有效的。,各种概念之间关系解释,1、租户下,管理着一堆用户(人,或程序)。 2、每个用户都有自己的credentials(凭证)用户名+密码或者用户名+API key,或其他凭证。 3、用户在访问其他资源(计算、存储)之前,需要用自己的credential去请求keystone服务,获得验证信息(主要是Token信息)和服务信息(服务目录和它们的endpoint)。 4、用户拿着Token信息,就可以去访问特点的资源了。,Keystone在OpenStack中的访问流程范例,计算管理(codenamed “Nova”) 基于用户需求为VM提供计算资源管理. 基于Python语言编写。 Nova-API:对外统一提供标准化接口.接受和响应最终用户Compute API的请求,同时还实现与Openstack其他各逻辑模块的通讯与服务提供 Nova-Scheduler:从队列上得到一个虚拟机实例请求并且决定它应该在哪里运行(使用多种过滤器或算法调度) Queue:提供了一个守护进程之间传递消息的中央枢纽。消息队列系统作用还可以实现与Openstack其他各逻辑模块之间的通信建立连接枢纽 Nova-Database:存储云基础设施的编译时和运行时的状态,从理论上讲,OpenStack Nova可以支持任何SQL-Alchemy支持的数据库,但是目前被广泛使用的数据库有sqlite3(只适用于测试和开发工作),MySQL和PostgreSQL。 Nova-Compute:主要是一个人工守护进程,它可以通过虚拟机管理程序的API(XenAPI for XenServer/XCP, libvirt for KVM or QEMU, VMwareAPI for VMware等)来创建和终止虚拟机实例。支持多种虚拟化平台 Nova还提供控制台的服务,让最终用户通过代理服务器访问他们的虚拟实例的控制台。这涉及到多个守护进程(nova-console,nova-novncproxy、nova-xvpnvncproxy和nova-consoleauth),OpenStack主要逻辑模块- Nova,请求一个虚拟机实例过程,Nova支持的虚拟化平台,KVM,LXC,QEMU,UML,vSphere,Xen,http:/docs.openstack.org/admin-guide-cloud/content/section_hypervisors.html,Nova支持的调度器和过滤器,SameHostFilter,块存储管理模块(codenamed “Cinder”) 提供到虚拟机的永久性块存储卷.类似AWS的EBS块存储服务 多个卷可以被挂载到单一虚拟机实例,同时卷可以在虚拟机实例间移动,单个卷在同一时刻只能被挂载到一个虚拟机实例 块存储系统管理块设备到虚拟机的创建,挂载以及卸载. 块设备卷完全与Openstack Compute集成,并支持云用户在Dashboard中管理数据自己的存储. 除了支持简单的Linux服务器本地存储之外,还支持众多的存储平台,包括 Ceph, NetApp, Nexenta, SolidFire, Zadara. 快照管理提供了强大的在块存储上实现数据备份的功能可以用来作为引导卷使用 块存储适合性能敏感性业务场景,例如数据库存储 大规模可扩展的文件系统或服务器需要访问到块级裸设备存储.,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号