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访问流程
组件间的关系
访问流程
部署遇到的问题
尚未解决。