OpenStack基础学习

OpenStack基础学习



OpenStack的组件及原理

OpenStack是Rackplace和NASA共同发起的开源项目,是一系列开源软件项目的组合,基础设施资源的系统管理平台。

OpenStack组件介绍

Horizon – UI模块

Horizon模块将用户在管理控制台上的所有操作转换为对后台API的调用。主要用户是云管理员和云用户。它为云管理员提供整体视图,以实现资源整合和配额管理。为终端用户提供自助服务门户,在配额范围内,自由操作,使用资源,包括vm的启动,停止和变更等。
这里写图片描述

keyStone – 身份服务模块

keyStone负责身份认证和权限控制,是控制的核心。除了对身份认证之外,还对用户的访问请求进行控制,访问的对象就是service。

  • User:即用户,代表可以通过keystone进行访问的人或程序,User通过认证信息(如密码、API key等)进行验证
  • Tenant:即租户,它是各个服务中的一些可以访问的资源集合
  • Role:即角色,Roles代表一组用户可以访问的资源权限

OpenStack上所有的服务都要在keystone上进行注册,才能被keyStone进行控制。

  • Service:即服务,如Nova、Glance、Swift,服务在keystone上进行注册
  • Endpoint:可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务则必须知道它的endpoint
  • Token:访问资源的令牌,相当于现实中的钥匙,具有时效性

keyStone不但是好的中介,也是尽职尽责的门卫,keyStone提供如下服务:

  • Identity服务验证了身份验证的凭证
  • Token服务将会验证并管理用于验证请求身份的令牌
  • Catalog服务提供了可用于断电发现的服务注册表
  • Policy服务暴露了一个基于规则的身份验证引擎
Nova – 计算服务

Nova是OpenStack的核心服务,主要功能包括:

  • 实例生命周期管理:实例的创建,删除,启动,停止等
  • 计算资源管理:当计算资源充足时,退还一部分等
  • 向外提供REST风格的API

Nova-api位于表示层,负责外部的REST请求
Nova-scheduler位于逻辑控制层,负责居中调停,选择哪个主机创建虚拟机
Nova-computer负责虚拟机的创建及资源的分配
rabbit MQ为消息中间件

Glance – 镜像服务
  • 提供虚拟机镜像的存储、查询和检索服务
  • 为Nova组件提供服务
  • 依赖于存储服务和数据库

swift– 对象储存服务

OpenStack最早期的两个服务之一,高可用分布式对象储存服务。定位:account->container->object,可以通过HTTP(S)、Object API及S3接口存取。

Cinder– 块储存服务

Neutron– 网络服务

提供云计算环境下的虚拟网络功能,给每个租户独立的网络环境。
三种模式:

  • Flat模式
  • Flat DHCP模式
  • VLAN模式

OpenStack访问流程

组件间的关系

这里写图片描述

访问流程

这里写图片描述

部署遇到的问题

这里写图片描述 尚未解决。