OpenStack基础概念
Posted traditional
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack基础概念相关的知识,希望对你有一定的参考价值。
openstack 组件介绍
1.horizon -- UI模块
为云管理提供整体视图,以实现资源整合和管理配额
为终端用户提供自动服务门户,在自由范围内自由操作,使用资源
2.keystone -- 身份服务模块
User:即用户,代表可以通过keystone访问程序的人或用户,User通过认证信息(如密码,API KEYS等)进行验证
tenant:即租户,它是各个服务中的一些可以访问的资源集合
role:即角色,Roles代表一组用户可以访问的资源权限
比如一个家庭买了100平米的房子,那么家庭能访问的100平米的房子的所有资源就叫做tenant,家庭中的每一个人便是user。
但是父母对房子的支配权肯定比孩子要大,那么每个人所能支配资源的权限便是role
service:即服务,如Nova,glance,swift。服务在keystone上进行注册
endpoint:可以理解为服务暴露出来的一个访问点,如果访问一个服务则必须知道它的访问点
Token:访问资源的令牌,现实中的钥匙,具有时效性
可以把keystone理解为黑中介,那么service便是黑中介手上的房子的资源,endpoint是房子的地址,token是打开房子的钥匙
用户必须从keystone(黑中介)手上,拿到房子的(endpoint)地址,拥有(token)钥匙,才能对房子(service)进行使用
keystone提供的服务
identity服务验证了身份验证凭证
token服务将会验证并管理用户验证身份请求的令牌
catalog服务提供了可用于端点发现的服务注册表。每个OpenStack服务要在keystone上注册,实际上便是注册到catalog上面
policy暴露了一个基于规则的身份验证引擎
3.Nova -- 计算服务
OpenStack的核心服务,主要功能包括
实力生命周期管理
计算资源管理,当用不了那么多的资源时,便可退还一部分
向外提供rest风格的api
Nova组件主要由三个功能不同的模块组成
Nova-api:位于表示层,主要用于接收外部的rest请求
Nova-schedule:位于逻辑控制层,主要负责居中调停,选择由哪个主机来创建VM
Nova-compute:负责虚拟机的创建,资源的分配等等。
Nova-compute本身不支持虚拟化功能,但支持各种虚拟化形式
这三个组件并不是直接访问的,而是通过消息队列(如rabbitMQ)
User request到来,先到达Nova-api,Nova-api将消息传递给消息队列。消息队列然后将请求转交给Nova-scheduler,
Nova-scheduler作为调度的中枢,根据不同的考虑,比如负载较轻,可用性高等等,选择不同的host。当host选择结束,
会将消息传递给消息队列,消息队列再将信息传递给Nova-computer,由Nova-computer创建虚拟机
4.glance -- 镜像服务
提供虚拟机镜像的存储,查询和检索服务
为Nova组件提供服务,Nova要创建虚拟机,必须要先从glance组件这里获取镜像
依赖于存储服务和数据库,存储主要存储镜像本身,数据库则储存跟镜像相关的数据
无论是web portal还是command line interface请求,都要先到达glance-api里面,
由glance-api进行解析,然后在glance-registry进行查询相应的信息,比如版本,操作系统,选择合适的镜像,
然后到database里面找到合适镜像的位置,再根据位置到image store获取相应的镜像
5.swift -- 对象存储服务组件
和nova一样,OpenStack最早的两个服务之一
高可用分布式对象存储服务,不用担心数据丢失等等,因为有备份
定位:account --> container --> object,一个的账户的容器的对象
可以通过HTTP(S),Object API及S3接口存取
6.cinder -- 块存储服务
管理所有的块存储服务,为VM服务
cinder-request还是先到达cinder-api,然后要到达消息队列,再到达cinder-scheduler决定在哪个host上创建vm,
最后由cinder-volume创建虚拟机
7.Neutron -- 网络服务
提供云计算下的虚拟网络功能
给每个租户独立的网络环境
三种模式:flat模式,flat DHCP模式,VLAN模式
flat和flat DHCP是比较典型的网桥模式,前者需要手工配置,后者在网关出起了DHCP进程可以辅助用户进行配置
VLAN为每个不同的用户设立了不同的虚拟子网,用户在虚拟子网中可以有自己的虚拟ip,用户需要的时候可以在这些
私有ip中进行选择,分配给不同的虚拟机
OpenStack各组件之间的联系
OpenStack访问控制流程
以上是关于OpenStack基础概念的主要内容,如果未能解决你的问题,请参考以下文章