openstack之keystone&glance

openstack有很多模块,其中有计算模块nova, 存储模块cinder, 身份认证模块keystone,计费和监控模块cellomater, 镜像模块glance,网络模块neutron,操作界面模块horizon以及镜像和数据备份模块swift(对象存储服务)。而keystone主要分为身份认证和权限鉴别。

一:keystone

1.1 基础理论

在openstack中,有一个endpoint的名词,它是一个网络上可访问的地址,通常是一个 URL。Service 通过 Endpoint 暴露自己的 API。 Keystone 负责管理和维护每个 Service 的 Endpoint。
 1. 可以使用以下命令来查看endpoint
在这里插入图片描述
  每一个用户user也可能是一个项目,一个项目有多个角色role,也就是说一个user可能存在多个role.
  2. 查看role的命令 在这里插入图片描述
  3. 查看特定role的用户对应的操作权限可以在/etc/nova/policy.json文件中查看  在这里插入图片描述

1.2 keystone工作过程

在身份认证阶段,当用户输入用户名密码,点击connnect的时候,openstack平台内部其实发生了如下过程:

  1. 用户向keystone发送登录请求;
  2. keystone收到请求之后,认证通过之后,生成一个包含了用户的角色信息的token;
  3. 将token发送给用户,完成登录,准备界面展示;
  4. 用户向keystone发送请问,问其可以访问哪些项目;
  5. keystone收到请求之后,查询到对应项目信息,返回给用户,展示到界面,开始进行instance,volume,image等列表信息展示;
  6. 用户向keystone发送请求,问请告诉自己各个服务的endpoint;
  7. keystone查询到各个服务的endpoint之后,返回给用户,展示到界面上。
  8. 当再要查看具体的列表信息的时候,就由用户去发送请求到对应的服务模块,由对应服务模块请求keystone验证用户身份是否有效,服务模块查询policy,json文件查看该用户是否具有查看对应请求的权限,若有,返回本模块的endpoint。

1.3 日志
  Keystone 主要有两个日志: keystone.log 和 keystone_access.log,保存在 /var/log/apache2/ 目录里。 在这里插入图片描述

二:glance

2.1 基础理论
 1.glance架构图:
    在这里插入图片描述
  glance-api 是系统后台运行的服务进程。 对外提供 REST API,响应 image 查询、获取和存储的调用。glance-api 不会真正处理请求。 如果操作是与 image metadata(元数据)相关,glance-api 会把请求转发给 glance-registry; 如果操作是与 image 自身存取相关,glance-api 会把请求转发给该 image 的 store backend。
  glance-registry 是系统后台运行的服务进程。 负责处理和存取 image 的 metadata,例如 image 的大小和类型。在控制节点上可以查看 glance-registry 进程。
  Image 的 metadata 会保持到 database 中,默认是 MySQL。 在控制节点上可以查看 glance 的 database 信息。
  Glance 自己并不存储 image。 真正的 image 是存放在 backend 中的。 Glance 支持多种 backend,具体使用哪种 backend,是在 /etc/glance/glance-api.conf 中配置的。
  
 2.查看当前的镜像列表 在这里插入图片描述
3. 查看镜像保存目录
在这里插入图片描述
每个 image 在目录下都对应有一个文件,文件以 image 的 ID 命名。
三: openstack 命令行
  一般情况下,命令行一般为cmd + xx-list,cmd+xx-show,cmd+xx-create param,cmd+xx-delete param,cmd+xx-update param等,这里的cmd表示服务,比如glance,xx表示对象,比如image,但有些已经被废弃,比如keystone的user-list的cmd要用openstack,在比如网络neutron的cmd是openstack,对象也由原来的net变成了network,中间的横杠也没有了,如: 在这里插入图片描述
  
当然对于nova来说,操作对象是实例instance,因此这里的xx可以省略。如nova boot,nova list,nova show instance_id,nova delete instance_id等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值