上一节介绍了 Keystone 的核心概念。
本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识。

User admin 要查看 Project 中的 image

第 1 步 登录

当点击时,OpenStack 内部发生了哪些事情?请看下面

Token 中包含了 User 的 Role 信息

第 2 步 显示操作界面

请注意,顶部显示 admin 可访问的  Project 为 “admin” 和 “demo”。 其实在此之前发生了一些事情:

同时,admin 可以访问 Intance, Volume, Image 等服务

这是因为 admin 已经从 Keystone 拿到了各 Service 的 Endpoints

第 3 步 显示 image 列表

点击 “Images”,会显示 image 列表

背后发生了这些事:

首先,admin 将请求发送到 Glance 的 Endpoint

Glance 向 Keystone 询问 admin 身份的有效性。

接下来 Glance 会查看 /etc/glance/policy.json。 判断 admin 是否有查看 image 的权限

权限判定通过,Glance 将 image 列表发给 admin。

Troubleshoot

OpenStack 排查问题的方法主要是通过日志。 每个 Service 都有自己的日志文件。

Keystone 主要有两个日志: keystone.log 和 keystone_access.log 保存在 /var/log/apache2/ 目录里。

devstack 的 screen 窗口已经帮我们打开了这两个日志。 可以直接查看:

如果需要得到最详细的日志信息,可以在 /etc/keystone/keystone.conf 中打开 debug 选项

在非 devstack 安装中,日志可能在 /var/log/keystone/ 目录里。

Keystone 就到这里,下一节我们开始学习 Glance。