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