设为首页 收藏本站
查看: 1062|回复: 0

[经验分享] OpenStack、基础概念

[复制链接]

尚未签到

发表于 2018-6-1 07:47:49 | 显示全部楼层 |阅读模式
  一、云计算


       云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。
  不同的“云”对应着不同的基础设施。下面是三种广义的“云”:
         基础设施即服务(IaaS)
         平台即服务(PaaS)
         软件即服务(SaaS) DSC0000.png
  
解决方案:
       IaaS (OpenStack, CloudStack)
       PaaS(Docker, Openshift)
       SaaS   
       DBaaS、FWaaS


私有云:自建云,内部使用
公有云:云服务商提供
混合云:自建一部分,租用一部分
  

  二、OpenStack

  1、OpenStack概要
    OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。
        OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
        OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性
         OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。
         OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快。
     Python语言研发
  2、OpenStack capabilities 功能
  VMs on demand           按需提供虚拟机
            provisioning        配置
             snapshotting     快照
  Volumes            卷,持久性存储
  Networks           网络
  Multi-tenancy     多租户
           quotas for different users         为不同的用户配额
            user can be associated with multiple tenants  用户可以与多个租户(相当于一个项目)相关联
  Object storage for VM images and arbitrary files     对象存储(自带元数据)的VM映像和任意文件
  

  3、OpenStack History
   July 2010 - Initial announcement
   October 2010 - Austin Release
   February 2011 - Bexar Release
   April 2011 - Cactus Release
   October 2011 - Diablo Release
   April 2012 - Essex Release
   October 2012 - Folsom Release
   April 2013 - Grizzly Release
   October 2013 - Havana Release
   April 2014 -  Icehouse Release
   October 16 2014 - Juno Software Release
   April 2015 - Kilo Software Release
  
   从最初版本Austin(2010.1)的发布至今,OpenStack 已经经历了13个版本的发布,也许从历史角度了解它的演变过程,更容易理解 OpenStack。
  OpenStack 是由 Rackspace Cloud 和 NASA 在 2010 年发起的,集成了 NASA 的 Nebula 平台的代码与 Rackspace 的 Cloud Files 平台。第一个核心模块被称为 Compute and Object Storage(计算和对象存储),但更常见的是它们的项目名称,即 Nova 和 Swift。
OpenStack版本比较有意思的是,每个主版本系列都是以字母表顺序命名的,从A-Z,OpenStack 使用了 YYYY.N 表示法,基于发布的年份以及当时发布的主版本来指定其发布。例如,2011 Bexar的发布的版本号为 2011.1,而Cactus则被标志为 2011.2。Diablo主版本则被标志为2011.3,而Diablo次要版本则用2011.3.1表示~后面加了扩展位。
OpenStack每一个版本都纳入了新的功能,添加了文档,并以增量的方式提高部署的简易性,但路线图也增加了组成该计划的项目的数量。最新的OpenStack版本Mitaka,已于在2016年4月问世,下面让我们一起来看一看OpenStack自2010年10月第一次发布以来的演变过程。
2010.10 Austin
作为OpenStack第一个正式版本,Austin主要包含两子项目,Swift是对象存储模块,Nova是计算模块;带有一个简单的控制台,允许用户通过web管理计算和存储;带有一个部分实现的Image文件管理模块,未正式发布。
2011.2 Bexar
Bexar 在此基础上补充了 Image Service (Glance),它在许多方面与计算和存储有交集。镜像代表存储在 OpenStack 上的模板虚拟机,用于按需快速启动计算实例;Swift增加了对大文件(大于5G)的支持;增加了支持S3接口的中间件;增加了一个认证服务中间件Swauth;Nova增加对raw磁盘镜像的支持,增加对微软Hyper-V的支持;开始了Dashboard控制台的开发。
2011.4 Cactus
Nova增加新的虚拟化技术支持,如LXC容器、VMWare/vSphere、ESX/ESXi 4.1;支持动态迁移运行中的虚机;增加支持Lefthand/HP SAN做为卷存储的后端。
2011.9 Diablo
Nova整合了Keystone认证;支持KVN的暂停恢复;KVM的块迁移;采用了全局防火墙规则。
2012.4 Essex
Essex 的发布增加了两个核心项目。OpenStack Identity (Keystone) 隔离之前由 Nova 处理的用户管理元素,而 OpenStack Dashboard (Horizon) 的引入则标准化和简化了用户界面(UI),使之同时适用于每个租户和 OpenStack 管理人员。
2012.9 Folsom
Folsom 使得版本数量又增加了两个。增加了Cinder块存储,以及Quantum网络模块,后来更名为Neutron。正式发布Quantum项目,提供网络管理服务;正式发布Cinder项目,提供块存储服务;Nova中libvirt驱动增加支持以LVM为后端的虚机实例;Xen API增加支持动态迁移、块迁移等功能;增加可信计算池功能;卷管理服务抽离成Cinder。
2013.4 Grizzly
Nova支持将分布于不同地理位置的机器组织成的集群划分为一个cell;支持通过libguestfs直接向guest文件系统中添加文件;通过Glance提供的Image位置URL直接获取Image内容以加速启动;支持无image条件下启动带块设备的实例;支持为虚机实例设置(CPU、磁盘IO、网络带宽)配额;Keystone中使用PKI签名令牌代替传统的UUID令牌;Quantum中可以根据安全策略对3层和4层的包进行过滤;引入仍在开发中的load balancer服务;Cinder中支持光纤通道连接设备;支持LIO做ISCSI的后端。
2013.10 Havana
正式发布Ceilometer项目,进行(内部)数据统计,可用于监控报警;正式发布Heat项目,让应用开发者通过模板定义基础架构并自动部署;网络服务Quantum变更为Neutron; Nove中支持在使用cell时同一cell中虚机的动态迁移;支持Docker管理的容器;使用Cinder卷时支持加密;增加自然支持GlusterFS;Glance中按组限制对Image的元属性的访问修改;增加使用RPC-over-HTTP的注册 API;增加支持Sheepdog、Cinder、GridFS做后端存储; Neutron中引入一种新的边界网络防火墙服务;可通过***服务插件支持IPSec ***;Cinder中支持直接使用裸盘做存储设备无需再创建LVM;新支持的厂商中包含IBM的GPFS。
2014.4 IceHouse
针对集成项目(Integrated Project),主要关注每个项目的稳定性与成熟度,同时包含新功能以及更好地与平台其他服务相整合;一致性的用户体验,提高测试的门槛,特别是针对存储方面;对象存储(Swift)项目有一些大的更新,包括可发现性的引入和一个全新的复制过程(称为s-sync)以提高性能;新的块存储功能使OpenStack在异构环境中拥有更好的性能;联合身份验证将允许用户通过相同认证信息同时访问OpenStack私有云与公有云;新项目Trove (DB as a Service)现在已经成为版本中的组成部分,它允许用户可以在OpenStack环境中管理关系数据库服务。
2014.10 Juno
Nova 网络功能虚拟化项目组在五月Atlanta峰会成立,新的功能已经在JUNO中逐渐显现;包括救援模式等很多运维层面的更新工作也落在nova-network中;通过StackForge增加了多个重要的驱动,如支持Ironic和Docker;支持调度和在线升级;Cinder 块存储添加了十种新的存储后端;改进了第三方存储系统的测试;Cinder v2 API集成进Nova;块存储在每个开发周期中不断成熟;Neutron 支持IPv6和第三方驱动,保证网络的可靠性和可持续性;API层面添加了插件支持;支持三层网络高可用;支持分布式网络模式;Swift 存储策略的推出对于对象存储是具有里程碑意义的,存储策略给予用户更多的控制与性能的提升;支持Keystone;Horizon 支持部署Apache Hadoop集群;扩展了RBAC系统;Keystone 联邦认证使用户可以通过同一套认证体系访问私有和共有OpenStack服务;可以配置使用多个认证后端;与LDAP的集成更加便捷;Heat 出错后更易于回滚操作和环境清理;可以授权无权限用户操作;Ceilometer 提高性能;支持负载均衡、防火墙与***;Glance 扩展image定义;异步处理进程;可控下载策略;Sahara 应用Hadoop和Spark实现大数据集群快速搭建与管理。
2015.4 Kilo
Horizon在K版本除了增强了对新增模块的支持,从UE的角度也为我们带来了很多新功能裸机服务Ironic完全发布,增加互操作性。
2015.10 Liberty
在Liberty版本中,更加精细的访问控制和更简洁的管理功能非常亮眼。这些功能直接满足了OpenStack运营人员的需求。新版本增加了通用库应用和更有效的配置管理功能。另外,还为Heat编排和Neutron网络项目增加了基于角色的访问控制(RBAC)。这些可以帮助运维人员更好地调试不同级别的网络和编排功能的安全设置和API;更面向企业,包括开始对跨一系列产品进行滚动升级的支持,以及对管理性和可扩展性的增强。引入了Magum容器管理,支持Kubernetes,Mesos和Docker Swarm。
2016.4 Mitaka
OpenStack的第13个版本,也就是4月份最新颁布的一版——新版本Mitaka聚焦于可管理性、可扩展性和终端用户体验三方面。重点在用户体验上简化了Nova,Keynote的使用,以及使用一致的API调用创建资源;Mitaka版本中可以处理更大的负载和更为复杂的横向扩展。
  注意:后面我们都将基于I版的OpenStack学习

  
  4、Openstack的组件

Compute: 代码名Nova,管理VM的整个生命周期,主要职责包括启动、调度VMs;
Networking:代码名Netron(早期叫Quantum,独立之前为nova-netwroking,从F版开始独立出来,之前由Compute提供);为Openstack提供NCaaS的功能;插件化设计,支持众多流行的网络管理插件;
Object Storage: 代码名swift;分布式存储,基于RESTful的API实现非结构化数据对象的存储及检索,存储磁盘映像文件;
Block Storage:代码名为Cinder(早期由Nova提供,代码为nova-storate,F版开始独立出来),为VMs提供持久的块存储能力;
Identity: 代码为Keystone;(从E版开始独立出来)为Openstack中的所有服务提供了认证、授权以及端点编录目录;
Image: 代码名Glance,用于存储和检索磁盘映像文件;提供元数据检索服务,
Dashboard: 代码名为Horizon,WebGUI; (从E版开始独立出来)
Telemetry: 代码名为Ceilometer,用于实现监控和计量服务的实现;(从H版开始提供)
Orachestration: 代码名为Heat,用于多组件联动;基于模版来实现系统管理
Database:代码为Trove,提供DBaaS服务的实现;
Data processing:代码为sahara,用于在OpenStack中实现Hadoop的管理;
  

  各组件间交互:
DSC0001.png

  

  请求处理流程:
  

DSC0002.png

  

  scheduler    调度
  queue          队列
  conductor    导体
  

  三、如何测试性部署OpenStack
  1、所有程序部署在一个单节点上,不符合OpenStack的使用架构
  2、部署在2个节点上,传统的nova-network提供网络服务
  如下图:
DSC0003.png

  Controller Node:控制节点
            OpenStack组件中主控部分,

           Basic Services 基础服务, Supporting Services 支撑服务, Optional Services  可选服务
           1个网卡,内网管理接口,
  

  Compute Node:计算节点
             2各网卡,1个内网管理接口,1个连接外网
  
  

  3、部署在3个节点上,neutron提供网络服务
   DSC0004.png
  

  Compute Node 是真正运行虚拟机实例的节点,可以重复出现多个,
                              需要2个网卡: 1个内网管理接口,1个和 Networking Node 构建隧道接口
  Networking Node  需要3个网卡:1个内网管理接口,1个和 Compute Node 构建隧道的接口,1个连接外网
  Controller Node 在实际应用中除了内网管理接口,应该还需要一个网卡连接外网,使得OpenStack的各种API可以通过互联网调用。
  注意:
          1)在真正实践中,Controller Node上的众多组件,有可能是由单机分别实现的。比如,MySQL数据库也应该安装在另一个单独的节点上。
          2)如果 Compute Node 上的虚拟机实例需要在公网上能直接访问到,那么就不用和网络节点构建隧道接口,只要连接外网就可以,内部的虚拟机桥接到该网卡上。
  

       接下来,我们开始一个一个组件地部署OpenStack。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-496773-1-1.html 上篇帖子: OpenStack安装与配置各种问题汇总 下篇帖子: openstack安装(liberty)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表