亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

(原創(chuàng))OpenStack服務如何使用Keystone (二)--

系統(tǒng) 2224 0

  (一) Keystone端的操作

  (二) 如何在OpenStack服務上部署Keystone中間件

  (三) 詳細配置keystonemiddleware

?

  部署OpenStack時一般先安裝Keystone服務, 一旦Keystone運行, 管理員搭建起服務目錄, 形成OpenStack系統(tǒng)的框架. 創(chuàng)建"服務用戶"和服務目錄在 上一篇隨筆 中有詳細的介紹.

  配置OpenStack服務與Keystone協(xié)同工作, 需要在這些服務上部署"keystonemiddleware"(即Keystone中間件), 通過該中間件完成令牌驗證等需要和與Keystone交互的功能.

  Keystone中間件的大體工作流程:

  1. 客戶端向服務發(fā)送服務請求是會攜帶從Keystone那里獲得的令牌;

  2. Keystone中間件會查詢并驗證這個令牌的有效性, 并采取相應的措施;

  3. Keystone中間件會從有效的令牌中提取諸如用戶名, 用戶ID, 項目名, 項目ID, 角色等信息, 并將這些信息以header的形式傳遞給"下游"的OpenStack服務.

  配置Keystone中間件并不是工作的全部, 我們將在下文進行詳細的介紹.

  Keystone中間件的"身份"和普通用戶的身份不同. Keystone中間件部署在OpenStack服務的Paste管道上, 代表服務攔截用戶的HTTP請求, 驗證用戶提供的令牌是否真實有效, 并判斷用戶是否具有相應的權限. 因此Keystone中間件的 "身份" 實質是其部署在OpenStack服務在Keystone服務端的身份. Keystone中間件是一個特殊的Keystone用戶.

?

  下面介紹如何部署和配置Keystone中間件:

  1. 安裝代碼. 在OpenStack服務所在主機上安裝"keystonemiddleware"項目代碼, 可采用pip, easy_install工具或從GitHub下載源碼等多種方式安裝. Git項目和Pypi包均名為"keystonemiddleware".

?

  2. 定義Paste過濾器. 在OpenStack服務的Paste部署文件(如:api-paste.ini)中,設置如下的WSGI組件:

      
        [
      
      
        filter:authtoken
      
      
        ]
      
      
        

paste.filter_factory 
      
      = keystonemiddleware.auth_token:filter_factory
    

?

  3. 安裝Keystone中間件. 將2中定義的Paste過濾器 "authtoken" 添加到Paste管道的適當位置, 完成在OpenStack服務上部署Keystone中間件.?

?

  4. 配置Keystone中間件. Keystone中間件的配置項包括Keystone服務的URL, 中間件用戶名, 密碼等. 具體的配置項我們在下一篇隨筆中進行詳細介紹. Keystone中間件有兩種配置方法, 一是在第2步定義過濾器時緊隨工廠函數(shù)設置. 另一種是將配置信息統(tǒng)一寫入到OpenStack服務的主配置 *.conf文件中, 保持Paste部署文件簡潔. 需注意當兩處進行了重復配置時,?Paste配置文件中的配置項起決定作用.?

  注意兩種方法的細微差別:

  (1) 在Paste部署文件中配置Keystone中間件,

      
        [
      
      
        filter:authtoken
      
      
        ]
      
      
        

paste.filter_factory 
      
      =
      
         keystonemiddleware.auth_token:filter_factory

identity_uri 
      
      = http://
      
        identity_url
      
      :35357
      
        /

admin_user 
      
      =
      
        
           nova
        
        

admin_password 
      
      =
      
        
           password
        
        

...
      
    

  這種方式的好處的是簡單方便, Keystone中間件的部署與配置點相同.

?

  (2) 在*.conf配置文件中配置Keystone中間件,

      
        [
      
      
        DEFAULT
      
      
        ]
      
      
        

...

auth_strategy
      
      =
      
        keystone

...




      
      
        [
      
      
        keystone_authtoken
      
      
        ]
      
      
        

identity_uri 
      
      = http://
      
        identity_url
      
      :35357
      
        /

admin_user 
      
      =
      
        
           nova
        
         

admin_password 
      
      = 
      
        password
        
...

  即首先要到*.conf文件的? [ DEFAULT ] ?段落下找到? auth_strategy ?字段, 設置為"keystone". 接著到? [ keystone_authtoken ] ?段落下, 配置項同(1).

  可采取這些流程配置Keystone中間件的OpenStack服務包括: Nova, Neutron, Cinder, Glance等. 具體的配置文件分別是,

  Nova:   nova.conf 和 api-paste.ini

  Neutron: ?neutron.conf 和 api-paste.ini

  Cinder: ? ?cinder.conf 和 api-paste.ini

  Glance: ? ?glance-api.conf 和glance-api-paste.ini

  對象存儲服務Swift略有不同. Swift默認的認證授權組件"tempauth"已經(jīng)逐漸被社區(qū)棄用, 推薦一致地使用Keystone. Swift的默認配置目錄中沒有Paste部署文件, 因此對Keystone中間件的部署和配置都在Swift的proxy-server.conf文件中完成.

  在Swift的proxy-server.conf文件中查找如下段落, 注意其中的 "tempauth"中間件,

      
        [
      
      
        pipeline:main
      
      
        ]
      
      
        

pipeline 
      
      = ... tempauth ... proxy-server
    

  這里Swift默認使用自帶的Paste過濾器? tempauth , 要使用Keystone中間件, 就要將這個Paste管道中的? tempauth ?替換成如下的兩個Paste過濾器:

      
        [
      
      
        pipeline:main
      
      
        ]
      
      
        

pipeline 
      
      = ... authtoken keystoneauth ... proxy-server
    

  在文件proxy-server.conf中配置Paste過濾器? authtoken ?和? keystoneauth ?:

      
        [
      
      
        filter:authtoken
      
      
        ]
      
      
        

# paste.filter_factory 
      
      =
      
         keystonemiddleware.auth_token:filter_factory

# auth_uri 
      
      = http://keystonehost:5000
      
        /

# admin_user 
      
      =
      
         swift

# admin_password 
      
      =
      
         password

...




      
      
        [
      
      
        filter:keystoneauth
      
      
        ]
      
      
        

# use 
      
      =
      
         egg:swift#keystoneauth

...

# operator_roles 
      
      = admin,
      
         swiftoperator

...

# reseller_admin_role 
      
      =
      
         ResellerAdmin


      
      
        ...

# default_domain_id 
      
      =
      
         default


      
      
        ...

# allow_names_in_acls 
      
      = true
    

  配置文件模板會默認注釋掉所有配置項, 管理員根據(jù)旁邊的說明取消注釋, 將配置項設置成適當?shù)闹? 這樣就完成了在Swift上部署Keystone中間件的工作.

  前文介紹了OpenStack的主要服務如何整合Keystone, 部署Keystone中間件. 這里還要簡單說明OpenStack的Dashboard如何與Keystone整合.

  Horizon是 OpenStack 的 Web UI, 為了使用第三版的 Keystone API, 我們需要在 Horizon 的 openstack_dashboard/local/local_settings.py 文件中做如下改動:

  1. 在配置項? OPENSTACK_API_VERSIONS ?中添加? "identity": 3 ?

  2. 將配置項? OPENSTACK_KEYSTONE_URL ?的URL以? /v3/ ?結尾.

  至此就完成了Keystone中間件的部署, 本文沒有涉及OpenStack的所有項目, 但是OpenStack不同服務的相似性很高, 后上馬的項目尊重前期項目得出的一致性經(jīng)驗. 我們以OpenStack最核心的服務入手, 介紹了如何將其與Keystone服務整合. 接下來, 詳細配置Keystone中間件 .

(原創(chuàng))OpenStack服務如何使用Keystone (二)---部署和配置Keystone中間件


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久免费福利视频 | 久久精品99成人中文字幕880 | 国产图片区 | 久久免费区一区二区三波多野 | 日本视频中文字幕 | 日一日操一操 | 91成人影院未满十八勿入 | 99福利在线| 欧美亚洲另类综合 | 日本aⅴ在线不卡免费观看 日本aaaa | www亚洲欲色成人久久精品 | 桃色成人精品网站 | 国产nv精品你懂得 | 日本我不卡 | 久久机热re这里只有精品15 | 在线观看日韩一区 | 欧美巨大xxxx做受孕妇视频 | 热er99久久6国产精品免费 | 国产九九免费视频网站 | 5g国产精品影院天天5g天天爽 | 色综合天天综合网看在线影院 | 88国产精品视频一区二区三区 | 婷婷色香五月激情综合2020 | 99久久久| 欧美日韩在线视频播放 | 亚洲精品久久九九精品 | 天天操天天添 | 中文无码久久精品 | 亚洲精品国产精品乱码视色 | 亚洲国产成人麻豆精品 | 亚洲欧美日韩中文字幕在线一区 | 国产女人水多毛片18 | 久草在在线 | 亚洲欧美视频一区二区三区 | 日本精品视频网站 | 亚洲v在线 | 亚洲精品一区二区在线播放 | 高清一区高清二区视频 | 中文字幕日韩女同互慰视频 | 日本中文字幕不卡 | 777色狠狠一区二区三区香蕉 |