OpenStack基础
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
什么是openstack?
定义:是基础设置资源的系统管理平台。管理资源如:cpu 内存 硬盘。
是一系列软件开源项目的组合,松耦合,可独立安装、启动、重启
最初只有swift和nova两个项目
目前有十多个子项目
openstack主要功能组件实例
基础资源管理平台框架:
openstack组件
- horizon UI服务
- keystone身份认证
- Nova计算服务
- glance镜像
- cinder/swift 存储服务
- neutron 网络服务
- heat 编排组织服务
- ceilometer控制计量服务
horizon UI模块
管理控制台,将管理控制台操作转化为api
主要用户两个:
云管理员,分配资源
云用户,在自己配额范围内使用资源,启动、停止、变更
keystone 身份服务模块
功能:身份验证、token服务、catlog注册表、policy基于规则的身份验证引擎
openstack的身份认证和权限控制
Openstack中所有的操作都需要认证
相关概念
用户:
租户:一系列可访问资源的集合
角色:用户可访问的资源的权限
服务:服务在keystone上进行注册
endpoint:访问地址
token:时效性令牌
Nova计算服务
功能:实例生命周期管理、计算资源管理、对外提供rest风格的api
三个组件:
- nova-compute。支持各种虚拟化技术
- nova-api
- nova-scheduler
nova流程:
- 请求进来
- 发送到nova-api
- 发送到rabbit MQ
- 发送到nova-scheduler
- 发送到MQ
- 发送到compute,创建虚拟机
glance镜像服务组件
功能:镜像的存储、查询、检索
主要为nova服务
依赖于存储服务和数据库服务:
- 存储服务存储镜像
- 数据库服务存储元数据。
依赖对象存储
swift对象存储服务
功能:提供高可用的分布式对象存储服务
无限可扩展,无单点故障,高可用
提供接口:https、object api、s3
cinder块存储服务
功能:管理所有的块存储设备,为VM服务
为虚拟机提供卷
Neutron网络服务
功能:为云计算环境提供虚拟化网络功能
三种模式:
- flat模式。网桥模式
- flat dhcp模式。网桥模式,比flat模式多一个dhcp
- vlan模式。虚拟ip和子网
组间之间的关系
- horizon关联所有模块
- keystone关联所有模块
- 其他主要模块围绕虚拟机提供服务
访问控制流程
- 用户向keystone认证拿到token
- 将vm创建请求发给nova
- nova验证token后,在glance上申请镜像
- glance验证token后,查询image,返回镜像给nova
- nova向neutron申请网络资源
- neutron验证token后,分配网络
- nova得到足够的资源,创建vm,返回给用户