上一節介紹了 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。