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工具