openstack_openstack 部署 - CSDN
openstack 订阅
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 [1]  OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 [1] 展开全文
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 [1]  OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 [1]
信息
编程语言
Python
遵循标准
Open 、AMQP、SQLAlchemy
开发者
NASA,Rackspace
中文名
OpenStack云计算管理平台
外文名
OpenStack
OpenStack简介
Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 Openstack前端来设置及管理自己的公共云或私有云。 [2]  Openstack是由 Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon ec2和S3的云基础架构服务( Infrastructure as a Service)。 Openstack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;后是 Backpack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。 Openstack是开源项目,除了有 Rackspace和NASA的大力支持外,后面还有包括Dell、 Citrix、 Cisco Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云台 Eucalyptus的态势。 [2] 
收起全文
  • OpenStack从入门到精通

    2020-06-22 09:20:23
  • openstack介绍及原理

    千次阅读 多人点赞 2019-08-24 20:52:18
    文章目录什么是openstack云计算模式OpenStack 中有哪些项目?Openstack创建实例的流程总图 什么是openstack OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。...

    在这里插入图片描述

    什么是openstack

    OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。

    云计算模式

    一、IaaS:基础设施即服务(个人比较习惯的):用户通过网络获取虚机、存储、网络,然后用户根据自己的需求操作获取的资源

    二、PaaS:平台即服务:将软件研发平台作为一种服务, 如Eclipse/Java编程平台,服务商提供编程接口/运行平台等

    三、SaaS:软件即服务 :将软件作为一种服务通过网络提供给用户,如web的电子邮件、HR系统、订单管理系统、客户关系系统等。用户无需购买软件,而是向提供商租用基于web的软件,来管理企业经营活动

    OpenStack 中有哪些项目?

    OpenStack 架构由大量开源项目组成。其中包含 6 个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像; 同时,还为用户提供了十多种开发成熟度各异的可选服务。OpenStack 的 6 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。

    1. keystone:Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
    2. glance:Glance 可存储和检索多个位置的虚拟机磁盘镜像。
    3. nova:是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
    4. neutron:Neutron 能够连接其他 OpenStack 服务并连接网络。
    5. dashboard:web管理界面
    6. Swift: 是一种高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象。
    7. Cinder 通过自助服务 API 访问持久块存储。
    8. Ceilometer:计费
    9. Heat:编排

    openstack基本架构
    在这里插入图片描述

    通过消息队列和数据库,各个组件可以相互调用,互相通信。每个项目都有各自的特性,大而全的架构并非适合每一个用户,如Glance在最早的A、B版本中并没有实际出现应用,Nova可以脱离镜像服务独立运行。当用户的云计算规模大到需要管理多种镜像时,才需要像Glance这样的组件。

    OpenStack的逻辑架构
    在这里插入图片描述


    Openstack创建实例的流程

    1. 通过登录界面dashboard或命令行CLI通过RESTful APIkeystone获取认证信息。

    2. keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。

    在这里插入图片描述


    1. 然后携带auth-token通过RESTful APInova-api发送一个boot instance的请求。
      在这里插入图片描述

    1. nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token。
    2. keystone验证token是否有效,将结果返回给nova-api
      在这里插入图片描述

    1. 通过认证后nova-api和数据库通讯,初始化新建虚拟机的数据库记录。
      在这里插入图片描述

    1. nova-api调用rabbitmq,向nova-scheduler请求是否有创建虚拟机的资源(node主机)。

    2. nova-scheduler进程侦听消息队列,获取nova-api的请求。
      在这里插入图片描述


    1. nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机。

    2. 对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息。
      在这里插入图片描述


    1. nova-scheduler通过rpc调用向nova-compute发送对应的创建虚拟机请求的消息。
      nova-compute会从对应的消息队列中获取创建虚拟机请求的消息。

    在这里插入图片描述


    1. nova-compute通过rpc调用向nova-conductor请求获取虚拟机消息。(Flavor)
      nova-conductor从消息队队列中拿到nova-compute请求消息。
      在这里插入图片描述

    1. nova-conductor根据消息查询虚拟机对应的信息。
      nova-conductor从数据库中获得虚拟机对应信息。

    在这里插入图片描述


    1. nova-conductor把虚拟机信息通过消息的方式发送到消息队列中。
      nova-compute从对应的消息队列中获取虚拟机信息消息。

    在这里插入图片描述


    1. nova-compute请求glance-api获取创建虚拟机所需要镜像。
      在这里插入图片描述

    1. glance-apikeystone认证token是否有效,并返回验证结果。
      在这里插入图片描述

    1. token验证通过,nova-compute获得虚拟机镜像信息(URL)。
      在这里插入图片描述

    1. nova-compute请求neutron-server获取创建虚拟机所需要的网络信息。
    2. neutron-server向keystone认证token是否有效,并返回验证结果。
    3. token验证通过,nova-compute获得虚拟机网络信息。
      在这里插入图片描述

    1. nova-compute请求cinder-api获取创建虚拟机所需要的持久化存储信息。
    2. cinder-api向keystone认证token是否有效,并返回验证结果。
    3. token验证通过,nova-compute获得虚拟机持久化存储信息。
      在这里插入图片描述

    1. nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。
      在这里插入图片描述

    总图

    在这里插入图片描述


    openstack项目搭建:

    1、环境布署
    2、配置keystone服务
    3、配置glance服务
    4、配置placement服务
    5、配置nova服务控制节点
    6、配置nova服务计算节点
    7、配置neutron服务控制节点
    8、配置neutron服务计算节点
    9、创建实例
    10、配置dashboard服务

    展开全文
  • 全面认识openstackOpenStack架构详解

    万次阅读 多人点赞 2020-05-17 07:10:44
    OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大...

    OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
    OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。

    下面列出Openstack的详细构架图

    Openstack的网络拓扑结构图

    整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)
    其中:
    控制节点负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
    计算节点负责虚拟机运行
    网络节点负责对外网络与内网络之间的通信
    存储节点负责对虚拟机的额外存储管理等等

    控制节点架构:

    控制节点包括以下服务

       管理支持服务

       基础管理服务

       扩展管理服务

       1)管理支持服务包含MySQL与Qpid两个服务

    MySQL:数据库作为基础/扩展服务产生的数据存放的地方

    Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务

       2)基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务

    Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库

    Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板

    Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信

    Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板

    Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard

       3)扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务

    Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板

    Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板

    Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板

    Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。

    Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作

    控制节点一般来说只需要一个网络端口用于通信/管理各个节点

    网络节点架构

    网络节点仅包含Neutron服务

    Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火等等

    网络节点包含三个网络端口

    eth0:用于与控制节点进行通信

    eth1:用于与除了控制节点之外的计算/存储节点之间的通信

    eth2:用于外部的虚拟机与相应网络之间的通信

    计算节点架构

    计算节点包含Nova,Neutron,Telemeter三个服务

      1)基础服务

    Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务

    Neutron:提供计算节点与网络节点之间的通信服务

      2)扩展服务

    Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务

    计算节点包含最少两个网络端口

    eth0:与控制节点进行通信,受控制节点统一调配

    eth1:与网络节点,存储节点进行通信

    存储节点架构

    存储节点包含Cinder,Swift等服务

    Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等

    Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件

    存储节点包含最少两个网络接口

    eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配

    eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    下面说一说Openstack的各个组件作用及关系

    Openstack发展至今,总共集成了下面几个组件:

    Nova - 计算服务
    Neutron-网络服务
    Swift - 对象存储服务
    Cinder-块存储服务
    Glance - 镜像服务
    Keystone - 认证服务
    Horizon - UI服务
    Ceilometer-监控服务
    Heat-集群服务
    Trove-数据库服务

    组件间的关系图如下:

    重要组件介绍

    OpenStack认证服务(Keystone)
    Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。下图显示了身份认证服务流程:

     

    Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)

    除此之外,Keystone提供以下三种服务:
        令牌服务:含有授权用户的授权信息
        目录服务:含有用户合法操作的可用服务列表
        策略服务:利用Keystone具体指定用户或群组某些访问权限

    keystone认证服务注意点:

    服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。

    区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。

    用户:Keystone授权使用者
      PS:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。

    服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。

    角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。
      PS:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。

    租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。
      PS:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。

    OpenStack计算设施----Nova

    Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。

    功能及特点: 
    实例生命周期管理
    计算资源管理
    网络与授权管理
    基于REST的API
    异步连续通信
    支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V

    Nova弹性云(OpenStack计算部件)包含以下主要部分:
    API Server(nova-api)
    消息队列(rabbit-mq server)
    运算工作站(nova-compute)
    网络控制器(nova-network)
    卷管理(nova-volume)
    调度器(nova-scheduler)

    解释如下:
    1)API服务器(nova-api)
    API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。

    2)消息队列(Rabbit MQ Server)
    OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。

     3)调度器(nova-scheduler)  

    调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。

    目前nova调度器使用了几种基本的调度算法:
      随机化:主机随机选择可用节点;
      可用化:与随机相似,只是随机选择的范围被指定;
      简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。

    4)运算工作站(nova-compute)
    运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。

     5)网络控制器(nova-network)
    网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。

     6)卷工作站(nova-volume) 
    卷工作站管理基于LVM的 实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比如当结束一个 实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据 仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。

    因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。

    OpenStack镜像服务器----Glance

    OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:
    本地文件系统(默认)
    S3直接存储
    S3对象存储(作为S3访问的中间渠道)
    OpenStack对象存储等等。
      
    功能及特点:
    提供镜像相关服务。

    Glance构件:
    1)Glance-API:
      主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)。默认绑定端口是9292。
    2)Glance-Registry:
      主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定的端口是9191。

    OpenStack存储设施----Swift

    Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。

    swift功能及特点:  
    海量对象存储
    大文件(对象)存储
    数据冗余管理
    归档能力-----处理大数据集
    为虚拟机和云应用提供数据容器
    处理流媒体
    对象安全存储
    备份与归档
    良好的可伸缩性

    Swift组件
    Swift账户
    Swift容器
    Swift对象
    Swift代理
    Swift RING
      
    Swift代理服务器  
    用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。
    此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。

    Swift对象服务器
    对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。

    注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前最好的选择。

    Swift容器服务器
    容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。

    Swift账户服务器
    账户服务器与容器服务器类似,将列出容器中的对象。

    Ring(索引环)

    Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。

    OpenStack管理的Web接口----Horizon

    Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。

    总之,Horizon具有如下一些特点:  
    实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等
    访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
    偏好设定:对虚拟硬件模板可以进行不同偏好设定
    镜像管理:编辑或删除镜像
    查看服务目录
    管理用户、配额及项目用途
    用户管理:创建用户等
    卷管理:创建卷和快照
    对象存储处理:创建、删除容器和对象
    为项目下载环境变量

    展开全文
  • OpenStack实战指南》电子书

    千次下载 热门讨论 2020-07-31 00:31:22
    开源项目OpenStack正在公有云和私有云中大行其道,众多IT企业和研发团队的开发人员都跃跃欲试想要搭上这一班“云计算的动车组”。面对有史以来最为庞杂、参与人数最多的开源项目之一,如何快速理顺OpenStack中纷繁...
  • OpenStack的基本概念与架构图

    万次阅读 2018-10-23 15:50:13
    OpenStack 核心项目: 服务 项目名称 方法描述 Dashboard Horizon 提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制 Compute Nova 在OpenStack...

         OpenStack的(又名O〜S)是一个自由和开放源码 软件平台为云计算,主要是部署基础架构即服务(IaaS的),因此虚拟服务器和其他资源提供给客户。[2]软件平台由相互关联的组件组成,这些组件控制整个数据中心内处理,存储和网络资源的各种多供应商硬件池。用户可以通过基于Web的仪表板,命令行工具或RESTful Web服务进行管理(来源:wiki)。

         OpenStack于2010年开始作为Rackspace Hosting和NASA的联合项目。截至2016年,它由OpenStack Foundation管理,OpenStack Foundation是一家于2012年9月成立的非营利性公司实体 ,旨在推广OpenStack软件及其社区。 超过500家公司加入了该项目。

    在这里插入图片描述

    服务 项目名称 方法描述
    Dashboard Horizon 提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制
    Compute Nova 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。
    Networking Neutron 确保为其它OpenStack服务提供网络连接即服务 “Quantum”–>Neutron
    Identity Management Keystone 为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。
    Object Storage Swift 通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制
    Block Storage Cinder 为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备
    Image Service Glance 存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。
    Telemetry Ceilometer 为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。
    Database Service Trove 提供管理数据库即服务配置关系和非关系数据库引擎节点的Trove相关,同时提供Trove在Horizon中的管理面板
    Bare Metal Provisioning Ironic 提供裸金属管理服务,Nova Baremetal驱动程序
    Orchestration Heat 提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
    Data Processing Service Sahara 使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,

         整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)其中:

    • 控制节点:负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
    • 计算节点:负责虚拟机运行
    • 网络节点负责对外网络与内网络之间的通信
    • 存储节点负责对虚拟机的额外存储管理

    在这里插入图片描述
    keystone
         这是提供身份认证和授权的组件。任何系统,身份认证和授权,其实都比较复杂。尤其Openstack 那么庞大的项目,每个组件都需要使用统一认证和授权。
         目前keystone 要做的东西其实还是很多。没法基于角色的授权,web管理用户等。

    Nova OpenStackCompute
         Nova是最核心的,可以说是一套虚拟化管理程序,因为nova可以创建、删除虚拟机、重启虚拟机等,openstack的之所以能够搭建云平台,也是因为它能够创建虚拟机,其它的组件,比如Neutron则是为了让虚拟机之间、虚拟机与外网之间能够互通,Cinder则是为了增加虚拟机的存储空间。可见nova在openstack中作用是非常大的。

    Dashboard
         (代号为“Horizon”) 为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI,可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。

    Glance
         这是镜像管理。
         目前Glance的镜像存储,支持本地存储,NFS,swift,sheepdog和Ceph,基本是够用了。
         目前Glance的最大需求就是多个数据中心的镜像管理,如何复制,不过这个功能已经基本实现。还有就是租户私有的image管理,这些目前功能都已经实现。

    Neutron
         这是网络管理的组件,也是重头戏,Openstack的未来,基本都要靠quantum。网络相关的内容,都会交给Quantum。不过Quantum的开发进度不是太如人意。Flosom规划实现功能,到Grizzly才实现。未来nova network的代码清理,估计到H版本都不见得可以实现。Quantum 后端可以是商业产品或者开源。开源产品支持Openvswitch,和linux bridge。网络设备厂商都在积极参与,让他们的产品支持Quantum。
         网络组件nova-network的发展经历了nova-network->Quantum->Neutron,Openstack在2010年正式发布它的第一个版本Austin的时候,nova-network作为它的核心组件被包含其中,网络由nova-network来承担,后来逐渐分离出来,改名为Quantum. Quantum是随Openstack的Folsom版本正式发布的,其实它已经作为试用组件包含在之前的Essex版本中。在Grizzly里功能得到了增强。
    Neutron
         因为商标侵权原因,Openstack在Havana版本将Quantum更名为Neutron,所以Neutron并不是什么新东西。在Havana版里,Neutron也只增加和增强了少数功能

    Cinder
         这是存储管理的组件。Cinder存储管理主要是指虚拟机的存储管理

    Swift
         这是对象存储的组件。对于大部分用户来说,swift不是必须的。你只有存储数量到一定级别,而且是非结构化数据才有这样的需求。很多人都问一个相同的问题:是否可以把虚拟机的存储放在swift上。简单回答:不行。你需要搞明白对象存储是干啥,擅长那些地方,那些是不行的。
    swift是Openstack所有组件了最成熟的,可以在线升级版本,各种版本可以混合在一起,也就是说,1.75版本的swift可以和1.48的在一个群集里.这个是很难得的.

    Ceilometer
         提供用量统计服务,通过它可以方便地实现 OpenStack 计费功能。
    Heat
         整合了 OpenStack 中的众多组件,类似 AWS 的 CloudFormation,让用户能够通过模板来管理资源
    耿磊

    展开全文
  • openstack的安装

    千次阅读 2019-05-19 09:27:46
    Openstack是一套IaaS解决方案,是一个开源的云计算管理平台 Openstack主要组件 Openstack结构图 Openstack的安装 准备3台虚拟机 主机名 配置 ops eth0:192.168.8.10(vbr网桥...

    云计算概念
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Openstack是一套IaaS解决方案,是一个开源的云计算管理平台

    Openstack主要组件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Openstack结构图
    在这里插入图片描述

    Openstack的安装
    准备3台虚拟机

    主机名 配置
    ops eth0:192.168.8.10(vbr网桥) eth1:192.168.4.11 内存:6G
    nova01 eth0:192.168.8.11(vbr网桥) eth1:192.168.4.11 内存:6G
    nova02 eth0:192.168.8.12(vbr网桥) eth1:192.168.4.12 内存:6G

    1、配置/etc/hosts(3台虚拟机),彼此能相互ping通

    [root@ops ~]# vim /etc/hosts
    末尾添加
    192.168.8.10 ops
    192.168.8.11 nova01
    192.168.8.12 nova02
    

    2、配置yum源(配置真机192.168.8.254作为3台虚拟机的网络yum)

    [root@room9pc01 ~]# cd /var/ftp
    [root@room9pc01 ftp]# mount -l |column -t		//查看当前目录挂载情况
    ...
    /RHEL7-extras.iso  on  /var/ftp/extras             type  iso9660          (ro,relatime)          [RHEL7EXTRAS]
    /CentOS7-1708.iso  on  /var/ftp/system             type  iso9660          (ro,relatime)          [CentOS          7  x86_64]
    /RHEL7OSP-10.iso   on  /var/ftp/HEL7OSP            type  iso9660          (ro,relatime)          [RHEL7OSP-10.0]
    ...
    
    [root@room9pc01 ~]# ls /var/ftp/RHEL7OSP-10/		//查看yum源仓库目录
    rhel-7-server-rhceph-2-osd-rpms
    rhel-7-server-openstack-10-devtools-rpms  
    rhel-7-server-rhceph-2-tools-rpms
    rhel-7-server-openstack-10-optools-rpms   
    rhel-7-server-rhscon-2-agent-rpms
    rhel-7-server-openstack-10-rpms           
    rhel-7-server-rhscon-2-installer-rpms
    rhel-7-server-openstack-10-tools-rpms     
    rhel-7-server-rhscon-2-main-rpms
    rhel-7-server-rhceph-2-mon-rpms
    [root@room9pc01 ~]# vim mkyum.sh		//创建生成yum仓库的脚本文件
    #!/bin/bash
    cd /var/ftp/HEL7OSP
    for folder in *
    do
        if [ -d $folder ];then
           cat <<EOF >>/tmp/ops.repo
    [$folder]
    name=$folder
    baseurl=ftp://192.168.8.254/HEL7OSP/$folder
    enabled=1
    gpgcheck=0
    EOF
        fi
    done
    [root@room9pc01 ~]# chmod +x mkyum.sh
    [root@room9pc01 ~]# ./mkyum.sh
    [root@room9pc01 ~]# vim /tmp/ops.repo		//编辑生成的yum源,在末尾添加系统(system)yum源和扩展(extras)yum源
    [rhel-7-server-openstack-10-devtools-rpms]
    name=rhel-7-server-openstack-10-devtools-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-openstack-10-devtools-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-openstack-10-optools-rpms]
    name=rhel-7-server-openstack-10-optools-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-openstack-10-optools-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-openstack-10-rpms]
    name=rhel-7-server-openstack-10-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-openstack-10-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-openstack-10-tools-rpms]
    name=rhel-7-server-openstack-10-tools-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-openstack-10-tools-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-rhceph-2-mon-rpms]
    name=rhel-7-server-rhceph-2-mon-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-rhceph-2-mon-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-rhceph-2-osd-rpms]
    name=rhel-7-server-rhceph-2-osd-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-rhceph-2-osd-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-rhceph-2-tools-rpms]
    name=rhel-7-server-rhceph-2-tools-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-rhceph-2-tools-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-rhscon-2-agent-rpms]
    name=rhel-7-server-rhscon-2-agent-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-rhscon-2-agent-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-rhscon-2-installer-rpms]
    name=rhel-7-server-rhscon-2-installer-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-rhscon-2-installer-rpms
    enabled=1
    gpgcheck=0
    [rhel-7-server-rhscon-2-main-rpms]
    name=rhel-7-server-rhscon-2-main-rpms
    baseurl=ftp://192.168.8.254/HEL7OSP/rhel-7-server-rhscon-2-main-rpms
    enabled=1
    gpgcheck=0
    
    [system]
    name=system
    baseurl=ftp://192.168.8.254/system
    enabled=1
    gpgcheck=0
    
    [extras]
    name=extras
    baseurl=ftp://192.168.8.254/extras
    enabled=1
    gpgcheck=0
    
    [root@room9pc01 ~]# for i in 10 11 12;  \
    do scp /tmp/ops.repo 192.168.8.$i:/etc/yum.repos.d/;  \
    done		//将yum文件拷贝至3台虚拟机
    

    3、配置DNS和NTP服务器(NTP服务器不能与openstack共用主机)
    (1)3台虚拟机配置DNS解析

    [root@ops ~]# vim /etc/resolv.conf		//配置DNS解析(以ops主机为例)
    ; generated by /usr/sbin/dhclient-script
    nameserver 192.168.8.254
    

    (2)将真机(192.168.8.254)作为NTP服务器

    [root@room9pc01 ~]# vim /etc/chrony.conf
    server ntp1.aliyun.com iburst
    [root@room9pc01 ~]# systemctl restart chronyd
    [root@room9pc01 ~]# chronyc sources -v		//查看时间同步情况(最后一行为*表示时间同步配置成功)
    210 Number of sources = 1
    
      .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
     / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
    | /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
    ||                                                 .- xxxx [ yyyy ] +/- zzzz
    ||      Reachability register (octal) -.           |  xxxx = adjusted offset,
    ||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
    ||                                \     |          |  zzzz = estimated error.
    ||                                 |    |           \
    MS Name/IP address         Stratum Poll Reach LastRx Last sample               
    ===============================================================================
    ^* 120.25.115.20                 2   6   377    54   +489us[+2225us] +/- 4184us
    

    (3)3台虚拟机配置NTP时间同步

    [root@ops ~]# vim /etc/chrony.conf 
    server 192.168.8.254 iburst
    [root@ops ~]# systemctl restart chronyd
    [root@ops ~]# chronyc sources -v
    210 Number of sources = 1
    
      .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
     / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
    | /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
    ||                                                 .- xxxx [ yyyy ] +/- zzzz
    ||      Reachability register (octal) -.           |  xxxx = adjusted offset,
    ||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
    ||                                \     |          |  zzzz = estimated error.
    ||                                 |    |           \
    MS Name/IP address         Stratum Poll Reach LastRx Last sample               
    ===============================================================================
    ^* gateway                       3   6   377    53   -315us[ -435us] +/- 3813us
    

    4、安装依赖包

    [root@ops ~]# yum -y install qemu-kvm \		//以ops主机为例
    libvirt-daemon libvirt-client \
    libvirt-daemon-driver-qemu python-setuptools
    [root@ops ~]# yum -y install openstack-packstack		//只在ops主机上操作
    

    5、创建应答文件(ops主机)

    [root@ops ~]# packstack --gen-answer-file=answer.ini
    Packstack changed given value  to required value /root/.ssh/id_rsa.pub
    [root@ops ~]# ls
    answer.ini
    [root@ops ~]# wc -l answer.ini 
    1317 answer.ini
    [root@ops ~]# vim answer.ini
    42 CONFIG_SWIFT_INSTALL=n```
    75 CONFIG_NTP_SERVERS=192.168.8.254
    95 CONFIG_CONTROLLER_HOST=192.168.8.10
    98 CONFIG_COMPUTE_HOSTS=192.168.8.11,192.168.8.12		//nova计算服务节点
    102 CONFIG_NETWORK_HOSTS=192.168.8.10,192.168.8.11,192.168.8.12		//openstack网络服务节点
    139 CONFIG_STORAGE_HOST=192.168.8.11,192.168.8.12		//指定存储服务器
    333 CONFIG_KEYSTONE_ADMIN_PW=a		//设置默认管理员密码
    840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan		//虚拟机之间通信的运营商网络(xvlan:多vlan技术)
    876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5		//主播地址
    910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex		//定义虚拟交换机名称
    921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0  //设置转发虚拟交换机数据包的物理网卡
    936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1		//设置内网通讯网卡
    1179 CONFIG_PROVISION_DEMO=n
    

    6、安装openstack

    [root@ops ~]# packstack --answer-file=answer.ini		//使用应答文件安装openstack(安装时间较长,一般30分钟左右)
    ...
     **** Installation completed successfully ******		//出现该提示表示安装成功
    ...
    

    7、验证ovs配置

    [root@ops ~]# ovs-vsctl show
    Bridge br-ex
            Controller "tcp:127.0.0.1:6633"
                is_connected: true
            fail_mode: secure
            Port br-ex
                Interface br-ex
                    type: internal
            Port "eth0"
                Interface "eth0"
     ...
    

    8、登录openstack
    Horizon概述
    在这里插入图片描述
    功能和特点
    在这里插入图片描述
    在这里插入图片描述
    登录openstack管理页面
    在这里插入图片描述

    展开全文
  • openstack_Stein版安装文档

    千次阅读 2019-09-01 15:54:50
    openstack Stein 版本安装文档 2019年8月28日 陈即彪 文章目录1. openstack介绍1.1. 云计算模式2. OpenStack 中有哪些项目?2.1. Openstack创建实例的流程2.2. 总图3. openstack项目搭建4. 环境配置4.1. 配置SQL...
  • OpenStack主要组件及其作用

    万次阅读 2019-06-14 17:02:06
    文章大部分来自于OpenStack官方文档。部分来自于网络 参考资料 https://www.cnblogs.com/klb561/p/8660264.html http://blog.51cto.com/wzlinux/1961422 OpenStack是一个开源的云计算管理平台项目,由几个主要的...
  • OpenStack,真的要凉了?

    万次阅读 2019-08-29 13:31:15
    OpenStack存在的问题,基本上已经无药可救。本文目录1逐步没落2都不挣钱3TC不作为4企业用户收益差5K8S 和 PaaS6技术不是问题1.逐步没落我是...
  • openstack介绍--(基础)

    万次阅读 2018-07-03 08:57:36
    openstack介绍 openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源池。它里面包含了很多子项目openstack包含三大项:计算 网络 存储 openstack主要...
  • openstack环境搭建

    千次阅读 2019-07-09 08:41:45
    openstack ** 什么是openstack openstack是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目 openstack是一个由一套iaas解决方案 openstack是一个开源的云计算管理平台 什么是云计算 基于互联网的...
  • 基于openstack安装部署私有云详细图文教程

    万次阅读 多人点赞 2018-09-15 21:59:40
    本文主要分享的是云计算、openstack的使用、私有云平台建设、云服务器云硬盘的构建和使用。从基本概念入手到私有云建设,信息量非常大。对于openstack的安装部署都是从官方文档中一步步的介绍,内容非常详细。 一、...
  • 深入浅出OpenStack教程 OpenStack入门到精通视频教程

    万次阅读 热门讨论 2013-11-20 11:12:59
    《深入浅出OpenStack云计算平台管理(nova-compute/network)》 课程讲师:明义(robby) 课程分类:Java 涉及项目:openstack quantum 用到技术:openstack overview、nova-compute/network 其他特性:glance工作...
  • OpenStack大规模部署详解

    万次阅读 2019-07-05 10:09:43
    作者简介:付广平,云极星创研发工程师。 0.前言今年的2月22日,...OpenStack社区可能自己都没有想到其发展会如此之迅速,部署规模如此之大,以至于最开始对大规模OpenStack集群的部署支持以及持续可扩展性似乎...
  • 书中首先通过介绍OpenStack体系结构和相关开发资源,以及第2章的向导帮助读者快速配置一个普通的OpenStack环境。然后重点介绍如何使用OpenStack的计算API以及如何通过扩展来得到自定义功能,其中包括定制化开发...
  • openstack_rocky.txt

    2020-07-30 23:33:17
    01. openstack课程实验环境介绍 课件下载 10:57 02. openstack课程实验环境虚拟机创建演示 17:08 03. 自动化安装环境初始化以及搭建时间服务器配置本地yum源 14:25 04. openstack实现自动化安装部署 18:39 05. ...
  • Starting with an overview of the OpenStack architecture, you'll see how to adopt the DevOps style of automation while deploying and operating in an OpenStack environment. We'll show you how to create...
  • 基于CentOS的OpenStack环境部署 环境准备 controller节点: 6GB 4H 60GB/30GB/30GB compute节点 6GB 4H 60G/60G admin节点(ceph admin管理节点) 2GB 4H 60GB/6GB OpenStack简介 OpenStack是一个开源的云平台管理...
  • 通过本次课程的学习您将会对openstack的部署有一个全新的认识,openstack的部署一切变的那么容易,您只需要修改一些配置文件即可轻松部署一套openstack环境,同时本次课程介绍了企业生产环境中常用的后端分布式存储...
  • OpenStack Networking is a pluggable, scalable, and API-driven system to manage physical and virtual networking resources in an OpenStack-based cloud. Like other core OpenStack components, OpenStack ...
1 2 3 4 5 ... 20
收藏数 61,673
精华内容 24,669
关键字:

openstack