OpenStack架构分析

OpenStack是什么?

OpenStack是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过web接口让最终用户部署资源。

OpenStack项目

提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。

在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。

确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。

为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。

存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。

为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。

通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。

为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。

Orchestration服务支持多样化的综合的云应用,通过调用OpenStack-native REST API和CloudFormation-compatible Query API,支持:term:HOT <Heat Orchestration Template (HOT)>格式模板或者AWS CloudFormation格式模板

OpenStack组件

Nova分析
1、Nova简介
  • OpenStack云中的计算组织控制器
  • 管理OpenStack云中实例的生命周期
  • 管理计算资源、网络、认证所需的可扩展性平台
2、Nova常用术语
  • KVM

内核虚拟化,OpenStack默认的Hypersvisor。

  • Qemu

KVM的替补角色,没有KVM执行效率高,不支持全虚拟化。

  • Flavor

新建虚拟机的配置列表,虚拟机模板。

  • Keypair

ssh连接访问实例的秘钥对。

  • 安全组

用来控制实例访问策略的容器。

  • 安全组规则

用来控制实例访问的具体策略。

3、Nova功能特性
  • 实例的生命周期管理
  • 管理平台的计算资源
  • 统一风格的RestAPI
  • 支持透明的hypervisor
  • 各个模块通过消息队列实现交互
Swift分析
1、Swift简介
  • 高可用分布式对象存储
  • 为Nona组件提供虚拟机镜像存储
  • 适用于互联网应用场景下非结构化的数据存储
2、Swift常用术语
  • Account

用户定义的管理存储区域。

  • Container

存储隔间,类似于文件夹或目录。

  • Object

包含了基本的存储实体和它自身的元数据。

  • Ring

记录了磁盘上的实体名称和物理位置的映射关系。

  • Region

地域,从地理位置上划分的一个概念。

  • Zone

可用区,按照独立的供网、供电基础设施划分。

  • Node

节点,存储服务器。

  • Disk

磁盘,物理服务器上的存储设备。

  • Cluster

群集,为冗余考虑的部署架构。

Keystone分析
1、Keystone简介
  • 提供身份验证、服务规则和服务令牌功能
  • 任何服务之间相互调用,都需要经过Keystone的身份验证
2、 Keystone常用术语
  • User

OpenStack最基本的用户。

  • Project

指分配给使用者的资源的集合。

  • Role

代表一组用户可以访问资源的权限。

  • Domain

定义管理边界,可以包含多个project/tenant、user、role等。

  • Endpoint

服务的URL路径,暴露出来的访问点。

Neutron分析
1、Neutron简介
  • 提供网络服务的核心组件
  • 基于软件定义网络的思想
2、Neutron常用术语
  • Bridge-int

实现内部网络功能的网桥

  • Br-ex

与外部网络通信的网桥

  • Neutron-server

提供API接口

  • Neutron-L2-agent

实现二层网络通信的代理

  • Neutron-DHCP-agent

为子网自动分发IP地址

  • Neutron-I3-agent

租户网络和floating IP间地址转换

  • Neutron-metadata-agent

响应Nova的metadata请求

  • LBaaS agent

为多台实例和open vswitch agent提供负载均衡服务

Glance分析
1、Glance简介
  • 为Nova提供镜像服务
  • 通常不负责镜像的本地存储
  • 实现对镜像的管理
2、Glance镜像格式
  • Raw
  • vhd
  • vdi
  • iso
  • qcow2
  • aki ami
3、Glance组件
  • Glance-api

负责提供镜像服务的rest api 服务

  • Glance-registry

主要负责与Glance使用的数据库交互

Cinder分析
1、Cinder简介
  • 为虚拟机实例提供volume卷的块存储服务
  • 一个volume可以同时挂载到多个实例上
  • 共享的卷同时只能被一个实例进行写操作
2、支持的文件系统类型
  • LVM/ISCSI
  • NFS
  • NetAPP NFS
  • Gluster
  • DELL Equall Logic
3、Cinder常用术语
  • Volume备份

volume卷的备份

  • Volume快照

卷在某个时间点的状态

  • Cinder API

为Cinder请求提供统一风格的Rest API服务

  • Cinder Scheduler

负责为新建卷指定块存储设备

  • Cinder Volume

负责与存储的块设备交互,实现卷的创建、删除、修改等操作

  • Cinder Backup

备份服务负责通过驱动和后端的备份设备打交道

Ceilometer分析
1、Ceilometer简介
  • OpenStack中的数据监控器
  • 为流量计费提供数据支撑
2、核心概念
  • Ceilometer-agent-compute

收集计算节点上信息的代理

  • Ceilometer-agent-central

运行在控制节点上,轮询服务的非持续化数据

  • Ceilometer-collector

运行在控制节点上,监听Message Bus,将收到的消息写入到数据库中

  • Storage

数据存储,用于存储收集到的样本数据

  • API server

运行在控制节点上,提供对数据库数据的访问

  • Message Bus

计量消息的数据总线,收集数据给collector

Heat分析
1、Heat简介
  • OpenStack核心项目之一
  • 提供基于模板的编排服务
2、Heat常用术语
  • Stack

指的是Heat要用到的所有设施和资源的集合

  • Heat template

是以.yaml结尾的文件,用于创建stack

  • Heat-api

提供rest api服务,将api请求发送给heat engine去执行

  • Heat-api-cfn

支持亚马逊格式访问的Rest api

  • Heat-engine

Heat的核心模块,接收API请求在openstack中创建资源

3、Heat组件
  • Heat-cfntools 、Heat-init

在镜像中安装完成虚拟实例操作任务的工具

  • Heat-api-cloudwatch

监控编排服务

  • Resource

底层各种服务抽象的集合

  • Heat-client

调用访问其他各个组件的client工具

猜你喜欢

转载自blog.csdn.net/sunny_future/article/details/79855491