您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 00-OpenStack组件介绍
OpenStack入门介绍什么是云计算?云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。云计算的特点超大规模虚拟化高可靠性通用性高可扩展性按需服务极其廉价潜在的危险性云计算的服务模式IaaS(Infrastructure-as-a-Service):基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。例如:硬件服务器租用。PaaS(Platform-as-a-Service):平台即服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。例如:软件的个性化定制开发。SaaS(Software-as-a-Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。例如:阳光云服务器。云的分类私有云:单一的服务组织,可以在线也可脱机处理。公有云:为多个组织公用,一般有专门的云服务商提供。混合云。OpenStack的起源这是个用Python程式语言写成云端运算软体,使用Apache许可证方式授权。这东西可以用、很多缺陷、是个试用版,赶快来试试看吧。----JoshuaMcKenty使用Python程式语言写就的Nova,基本上是亚马逊弹性云端运算的仿制品。在Clark看过NASA的Nova程式码之后,对于Nova跟Rackspace本身正在进行的开放式平台间的高相似度感到相当震惊,久久无法自己。什么是OpenStack?OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。OpenStack通过一个web界面提供资源管理,通过一个仪表板管理整个数据中心中的计算、存储等资源。厂商的支持有超过200家厂商加入OpenStack项目。包括:AMD,BrocadeCommunicationsSystems,CanonicalCisco,Dell,EMC,Ericsson,GroupeBull,HP,IBM,Inktank,Intel,NEC,RackspaceHosting,RedHat,SUSELinux,VMware,andYahoo!OpenStack的发行版REDHATENTERPRISELINUXOPENSTACKPLATFORMUBUNTUOPENSTACKSUSECLOUDMIRANTISOPENSTACKORACLEOPENSTACKFORORACLELINUXRACKSPACEPRIVATECLOUDSOFTWAREIBMCLOUDMANAGERWITHOPENSTACKHPHELIONOPENSTACK®COMMUNITYEDITIONOpenStack历史OpenStack基金会Platinum$500,000/yearGold$50,000~$200,000/yearCorporate$25,000/yearStartup$10,000/yearOpenStack优势OpenStack为私有云和公有云提供可扩展的弹性的云计算服务,这种服务云必须是简单部署并且扩展性强。1模块松耦合2组件配置较为灵活3二次开发容易4已经成本云平台的一个标准OpenStack架构OpenStack核心模块OpenStack可选模块OpenStack架构OpenStack概念架构Horizon(Dashboard)与其他主要模块的关联(包括Nova,Cinder,Glance,Swift,Neutron,keystone)通过Ceilometer(监控功能)可以监控的模块(包括Nova,Glance,Cinder,Neutron)Keystone(身份验证功能)模块可以对其他模块进行相应操作进行身份及权限验证(包括Nova,Glance,Cinder,Swift,Neutron,Ceilometer)VMNova为VM提供计算资源Glance为VM提供镜像Cinder为VM提供块存储资源Neutron为VM提供网络资源及网络连接Cinder连接VM后所产生的数据可以备份到Swift对象存储中Glance提供镜像可以保存在Switf对象存储中OpenStack项目服务支撑5%存储StoringCinderSwift网络NeutronQuantum计算ComputeNovaGlance计费Ceilometer模版制作Heat数据库服务Trove裸机部署服务Ironic工作流服务ConvectionHadoop服务sahara身份认证Keystone管理界面HorizonComputeStorageNetworkNovaSwift(Objects)Glance(Images)*-as-a-ServiceCapabilityOpenStackServiceNeutron/QuantumCinder(Block)identityKeystoneOpenStack项目KeyStoneOpenStackIdentity(Keystone)服务为运行OpenStackCompute上的OpenStack云提供了认证和管理用户、帐号和角色信息服务,并为对象存储提供授权服务可以作为OpenStack的统一认证的组件支持基于数据库的认证(SQLite3,MySQL以及PostgreSQL)支持基于Ldap认证,同样支持windowsActiveDirectory认证。未来会支持外部认证体系oAuth,SAML,OpenIDKeystone作为Openstack的核心模块,为Nova(计算),Glance(镜像),Swift(对象存储),Cinder(块存储),Neutron(网络)以及Horizon(Dashboard)提供认证服务keystoneKeystone基本概念UserUser即用户,他们代表可以通过keystone进行访问的人或程序。Users通过认证信息(credentials,如密码、APIKeys等)进行验证。Tenant(project)Tenant即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中一个tenant可以是一些机器,在Swift和Glance中一个tenant可以是一些镜像存储,在Neutron中一个tenant可以是一些网络资源。Users默认的总是绑定到某些tenant上。RoleRole即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。Users可以被添加到任意一个全局的或租户的角色中。在全局的role中,用户的role权限作用于所有的租户,即可以对所有的租户执行role规定的权限;在租户内的role中,用户仅能在当前租户内执行role规定的权限。Keystone基本概念ServiceService即服务,如Nova、Glance、Swift。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表示不同的服务。Keystone基本概念EndpointEndpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板,这个模板提供了所有存在的服务endpoints信息。一个endpointtemplate包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。publicurl可以被全局访问(如),privateurl只能被局域网访问(如),adminurl被从常规的访问中分离。TokenToken是访问资源的钥匙。它是通过Keystone验证后的返回值,在之后的与其他服务交互中只需要携带Token值即可。每个Token都有一个有效期,Token只在有效期内是有效的。各种概念之间关系解释1、租户下,管理着一堆用户(人,或程序)。2、每个用户都有自己的credentials(凭证)用户名+密码或者用户名+APIkey,或其他凭证。3、用户在访问其他资源(计算、存储)之前,需要用自己的credential去请求keystone服务,获得验证信息(主要是Token信息)和服务信息(服务目录和它们的endpoint)。4、用户拿着Token信息,就可以去访问特点的资源了。访问验证流程Nova服务说明Nova是整个OpenStack项目里面最核心的组件,相对比较复杂。负责计算资源、调度、网络、认证等。nova-api负责接受和响应用户的API请求nova-compute负责instance实例的管理,和不同的hypervisor进行交互nova-schedule负责调度instance到具体的物理服务器nova-conductor模块,G版本新添加,和nova-compute部署在同一个节点上,解决nova.conf配置文件里面数据库密码明文的问题Nova是整个OpenStack项目里面最核心的组件,相对比较复杂。负责计算资源、调度、网络、认证等。Nova服务说明nova-consoleauth负责验证consoleproxy提供的用户tokennova-novncproxy,nova-xvpnvncporxy,提供proxy访问instancevnc端口nova-cert管理x509证书命令行nova用户和管理员命令行工具nova-manage管理员命令行工具的架构Nova处理过程请求一个虚拟机实例过程Nova虚拟机的启动流程Nova支持的虚拟化平台Openstack支持的虚拟化技术KVMLXCQEMUUMLvSphereXenOpenStack在控制平面上的性能瓶颈主要在MessageQueue和Database。尤其是MessageQueue,随着计算节点的增加,性能变的越来越差。为了应对这种情况,Nova很早之前提出来nova-cell(以下以cellv1代替)的解决方案。目的是在把大的OpenStack集群分成小的单元,每个单元有自己的MessageQueue和Database。以此来解决规模增加时引起的性能问题。而且不会向Region那样,把各个集群独立运行。在cell里面,Keystone、Neutron、Cinder、Glance等资源还是共享的。通过nova-cell服务来在各个cell间传递消息。架构复杂案例:CERN(欧洲原子能研究中心)cellv1被标记为实验性质。相关测试很少
本文标题:00-OpenStack组件介绍
链接地址:https://www.777doc.com/doc-1869432 .html