Openstack_第二课_Openstack框架说明

一、Openstack组件说明

1、Compute (Nova)计算服务 

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

Nova它提供了一种配置计算实例(即虚拟服务器)的方法。Nova支持创建虚拟机、裸机服务器,并且对系统容器的支持有限。Nova在现有linux服务器之上作为一组守护进程运行,已提供该服务。

它需要以下额外的OpenStack服务来实现基本功能:

  • Keystone:这是为OpenStack服务提供身份和身份验证
  • Glance:这提供了计算镜像存储库。所有计算实例都是从Glance镜像启动的。
  • Neutron:他负责提供计算机实例在引导时连接到的虚拟或物理网络。

Nova主要功能包括:

  • 实例生命周期管理
  • 计算资源的管理
  • 向外提供REST风格的API

这三个组件组件通过消息中间件传输通信

Nova包含以下主要部分:

API Server(nova-api)位于表示层。用于接受外部请求

消息队列服务(Rabbit MQ)

运算工作站(nova-comoute)负责虚拟机的创建和分配

网络控制器(nova-network)

卷管理(nova-volume)

调度器(nova-scheduler)调度如何选择哪个主机创建VM

2、Image Service(Glance)镜像服务

OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:

  • 本地文件系统(默认)
  • S3(Simple Storage Service 简单存储服务)直接存储
  • S3对象存储(作为S3访问的中间渠道)
  • OpenStack对象存储等等。

功能及特点:

提供镜像的管理、包含镜像的导入、格式以及制作相应的模板等相关服务。

Glance包含以下构件:

1)Glance-API

主要负责接收相应镜像管理命令的Resrful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)默认绑定端口是9292.

2)Glance-Registry:

主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。more绑定的端口号是9191.

3、Identity Service(Keystone)认证服务

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

 功能及特点:

提供了其余所有组件的认证信息/令牌的管理、创建、修改等等、使用MySQL等数据库存储认证信息。

4、Object Storage(Swift)对象存储

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

Swift的功能及特点:

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

5、Block Storage (Cinder) 块存储

Cinder 是OpenStack Block Storage服务,用于为Nova虚拟机,lronic裸机主机,容器等提供卷。

Cinder的目标是:

  • 基于组组件体系结构:快速添加新的行为
  • 高度可用:扩展到非常严重的工作负载
  • 容错:隔离进程避免级联失败
  • 可恢复的:故障应该易于诊断,调试和纠正
  • 开放标准:成为社区驱动api的参考实现

作为Cinder的最终用户,我们将使用Cinder创建和管理使用欧冠Horizen用户界面,命令行工具, 如python-cinderclient,或者直接使用REST API。

Cinder的所有功能都是通过REST API公开,可用于使用Cinder构建更复杂的逻辑或自动化, 这可以直接使用或者通过各种SDK使用。

Cinder服务通过一系列守护进程的交互来工作,这些进程名称cinder-*永久驻留在主机或机器上,我们可以从单个节点运行所有二进制文件,也可以分布在多个节点上,我们也可以在与其他OpenStack服务想用的节点上运行他们。

6、Networking(Neutronn)网络服务

提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理界面。

7、Dashboard(Horizon)仪表板

提供了以Web形式对所有节点的所有服务的管理,通常把该服务称为Dashboard。

8、Orchestration(Heat)编排

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

9、Telemetry(Ceilometer)  监控

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

10、Database Service(Trove)数据库服务

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

11、Data Processing (Sahara)数据处理

二、安装架构说明

  • 操作系统: CentOS7
  • OpenStack版本: juno
  • 关闭防火墙和SELinux
  • Controller Node: 1 processor, 2 GB memory, and 5 GB storage
  • Network Node: 1 processor, 512 MB memory, and 5 GB storage
  • Compute Node: 1 processor, 2 GB memory, and 10 GB storage

1、网络拓扑环境

a、节点说明:

  • controller:控制节点,负责对其余节点的控制,包含虚拟机创建、迁移、网络分配、存储分配等等;Keystone、Trove、Glance
  • block:存储节点,Cinder
  • computer1:计算节点,Nova
  • network:网络节点,Neutronn

b、网络说明:

  • Management Network :管理网络,四台主机之间通信的网络
  • Instance Tunnels Network:实例网络,虚拟机与虚拟机之间通信的网络
  • External Network:外部网络,虚拟机与公网沟通的网络,通过Neutronn组件代理上网

c、IP地址规划

  • controller:M:192.168.222.5
  • block:M:192.168.222.20
  • computer1:M:192.168.222.10、I:172.16.0.10
  • network:M:192.168.222.6、I:172.16.0.6、E:100.100.100.10

d、节点资源配置情况

  • controller:CPU:2、内存:1.5G、网卡:1块、存储:100GB
  • block:CPU:2、内存:1G、网卡:1块、存储:20G 100GB 100GB
  • computer1:CPU:最大资源、内存:最大资源、网卡:2块、存储:100GB
  • network:CPU:2、内存:1.5G、网卡:3块、存储:30GB

 

原文地址:https://www.cnblogs.com/gxnihao/p/13098458.html