1. 程式人生 > >初識openstack之5——安裝Keystone

初識openstack之5——安裝Keystone

ant dap c api RM 網絡通 image ack 空間 數據

一、實驗說明

按照官方文檔搭建queens版本openstack,拓撲如下圖所示:
技術分享圖片

二、Keystone介紹

keystone是一個集合了認證、授權和為open stack其他服務編錄的項目,代碼名為keystone,服務名稱為identity。當一個終端用戶發起請求時,他先找到identity進行認證,通過認證後允許用戶訪問其權限內openstack的其他組件,同樣其他組件也會對用戶身份進行確認,並從identity處獲得其他組件的訪問地址。keystone可以集成像LDAP等外部認證機制。
keystone中的catalog裏記錄了openstack中所有可用服務的地址信息,供用戶和其他服務使用。每個服務由一個或者多個訪問路徑,可以分為:admin、internal、public三類,在生產環境中,不同的訪問路徑可以放置不同的網段中。例如:用戶可以通過公網使用public API管理他們的雲機構,組件之間可以通過inernal API網絡通信,管理員則通過admin API進行管理。openstack支持多區域以便擴展。簡單起見,實驗中使用管理網絡承載所有的訪問路徑,並使用默認區域RegionOne。catalog由區域、服務和訪問路徑一起構成。

identity server有以下三個組件構成:

  1. server
    使用RESTful接口提供同一個認證和授權
  2. drivers
    集中管理務驅動或後端服務,主要用於為OpenStack訪問外部存儲庫中提供標識信息
  3. modules
    中間件模塊運行在openstack的地址空間中,對用戶和服務的請求進行驗證和授權,它與openstack組件見通過phython網關接口進行通信

三、安裝配置過程

創建數據庫

  1. 創建數據庫並授權
    [root@controller ~]# mysql -u root -p;    
    MariaDB [(none)]> create database keystone;  
    MariaDB [(none)]> grant all privileges on keystone.* to ‘keystone‘@‘localhost‘ identified by ‘password1!‘;  
    MariaDB [(none)]> grant all privileges on keystone.* to ‘keystone‘@‘%‘ identified by ‘password1!‘;  
  2. 安裝並配置keystone
    [root@controller ~]# yum install openstack-keystone httpd mod_wsgi
    [root@controller ~]# vim /etc/keystone/keystone.conf
    [database]
    # ...
    connection = mysql+pymysql://keystone:password1!@controller/keystone  
    [token]
    # ...
    provider = fernet

    [database]段如有多余的connection = 配置項,要刪除

  3. 填充identity數據庫,並驗證
    [root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
    [root@controller ~]# mysql
    MariaDB [(none)]> show databases;
    技術分享圖片
    MariaDB [(none)]> use keystone;
    MariaDB [keystone]> show tables;
    技術分享圖片

初識openstack之5——安裝Keystone