本文介紹如何在Ubuntu 14.04 LTS 上安裝Juno版的 Keystone , 我們采用的是手動(dòng)安裝的方式, 同時(shí)僅針對(duì)OpenStack的身份與訪問管理系統(tǒng)Keystone. 事實(shí)上OpenStack不同服務(wù)之間提供了非常高的一致性, 對(duì)Keystone安裝的把握能夠幫助理解如何部署OpenStack.
本文分別介紹了利用操作系統(tǒng)的包管理機(jī)制和利用源代碼安裝. 源碼安裝時(shí)還可以讓Keystone運(yùn)行在一個(gè)獨(dú)立的虛擬環(huán)境中. 本文對(duì)應(yīng)的系統(tǒng)環(huán)境是 已經(jīng)安裝了Python 2.7.x 的 Ubuntu.
?
身份數(shù)據(jù)庫
Keystone的身份數(shù)據(jù)庫可以使用SqLite和MySQL等存儲(chǔ)后端, 如果選擇特定的數(shù)據(jù)庫, 應(yīng)該在使用Keystone前安裝這些目標(biāo)數(shù)據(jù)庫, 并為Keystone專門建表建庫. 這里以使用MySQL為例.
安裝MySQL, 過程中會(huì)要求設(shè)置根用戶口令.
$ apt-get
install
mysql-server python-mysqldb
?
為Keystone創(chuàng)建用戶和數(shù)據(jù)庫.
$ mysql -uroot - p $ RootPass > create database keystone; > grant all on keystone.* to ' keystone ' @ ' localhost ' identified by ' KeystonePass ' ; > quit
? 如果采用SqLite作為存儲(chǔ)后端, 只需要在后續(xù)配置Keystone時(shí)設(shè)置驅(qū)動(dòng)和存儲(chǔ)文件即可.
一. 包安裝Keystone
OpenStack儼然已經(jīng)成為Ubuntu, RedHat等系統(tǒng)廠商的寵兒, 這些系統(tǒng)提供商對(duì)這個(gè)項(xiàng)目的支持方便了用戶的部署, 利用Ubuntu的包管理工具, 我們可以非常容易地部署OpenStack的任意項(xiàng)目. 由于包安裝的方式極為簡(jiǎn)便, 我們需要確保的就是在Ubuntu的云存檔種獲得我們需要版本的OpenStack組件.
添加 Juno 版 OpenStack的存檔庫(Icehouse 等版本的操作類似):
$ sudo add-apt-repository cloud- archive:juno Ubuntu Cloud Archive for OpenStack Juno More info : https: // wiki.ubuntu.com/ServerTeam/CloudArchive Press [ENTER] to continue or ctrl-c to cancel adding it
...
?
接著更新安裝包列表:
$
sudo
apt-get update
?
事實(shí)上此時(shí)已經(jīng)可以安裝Juno 版 OpenStack的任意組件了:
$ sudo apt-get install keystone
?
? 二. 源碼安裝Keystone
安裝git,用來下載源碼:
$ sudo apt-get install git
?
獲取源碼, 會(huì)在當(dāng)前 shell 的工作目錄下生成一個(gè)名為"keystone"的目錄用來同步源碼, 也可以更改路徑和目錄名, 具體參考Git clone指令.
$ git clone https: // github.com/openstack/keystone
?
OpenStack基本基于Python實(shí)現(xiàn), 依賴的大多數(shù)項(xiàng)目都可以從Python的包目錄Pypi上獲取, 但是根據(jù)具體的操作系統(tǒng), 有一些依賴關(guān)系是無法使用Python的包管理解決的, 所以我們需要在安裝Keystone的代碼前先滿足這些依賴.
$ sudo apt-get install python-dev libxml2-dev libxslt1- dev \ libsasl2 -dev libsqlite3-dev libssl-dev libldap2-dev libffi-dev
從Pypi上獲取Python包需要借助pip或easy_install, 這里以pip為例, 安裝pip .
$ wget https: // bootstrap.pypa.io/get-pip.py $ python get-pip.py
?
虛擬環(huán)境安裝
接下來就可以從源碼安裝Keystone了, 如果要在虛擬的Python環(huán)境中運(yùn)行它, 執(zhí)行這兩條指令, 否則查看 "非虛擬環(huán)境安裝" .
$ cd keystone
$ python tools
/install_venv.py
?
上述命令將在keystone/.venv目錄下安裝Keystone的虛擬運(yùn)行環(huán)境, 通過下面的命令啟動(dòng)或關(guān)閉虛擬運(yùn)行環(huán)境:
$ source .venv/bin/
activate
#開啟
$ deactivate
#關(guān)閉
?
非虛擬環(huán)境安裝
如果不想在虛擬環(huán)境下運(yùn)行Keystone:
$ sudo pip install - r requirements.txt #安裝Keystone運(yùn)行依賴 $ python setup.py develop #將keystone鏈入Python的本地包
?
驗(yàn)證安裝完成
至此源碼安裝完成, 在虛擬環(huán)境下:
$ source .venv/bin/
activate
$ python
?
或在非虛擬環(huán)境下:
$ python
?
在Python的交互界面中import keystone, 看看是否成功, 如果沒有異常, 說明keystone已經(jīng)被正確安裝了.
>>>
import
keystone >>>
? 這些工作也可以寫成腳本執(zhí)行, 雖然針對(duì)的只是Keystone, 但安裝的邏輯和流程同樣適用于OpenStack的其他項(xiàng)目.
安裝完成的Keystone并不能運(yùn)行, 接下來需要對(duì)其進(jìn)行配置和初始化, 下一篇隨筆將介紹 如何配置Keystone .
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
