OpenStack安裝(一)-KeyStone模塊

一柠贤、安裝和配置KeyStone

1. 為KeyStone配置數(shù)據(jù)庫

  1. 使用數(shù)據(jù)庫客戶端,以root用戶連接到數(shù)據(jù)庫中:mysql -u root -p
  2. 創(chuàng)建KeyStone數(shù)據(jù)庫:CREATE DATABASE keystone;
  3. 為KeyStone用戶授權(quán):
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';

2. 安裝KeyStone

  1. KeyStone服務(wù)的監(jiān)聽端口是5000和35357,配置Apache HTTP服務(wù)監(jiān)聽這兩個(gè)端口申屹,為了避免端口沖突丛晌,在Ubuntu上禁止KeyStone開機(jī)自啟動:echo "manual" > /etc/init/keystone.override
  2. 安裝與Keystone相關(guān)的軟件包:
    apt-get install keystone python-openstackclient apache2 libapache2-mod-wsgi memcached python-memcache

3. 修改KeyStone的配置文件keystone.conf

修改/etc/keystone/keystone.conf
小技巧:將原文件備份镜廉,使用命令cat backup_file | grep -v '^#' > new_file可以生成新文件签餐,并去掉注釋寓涨,即cat /etc/keystone/keystone.conf.bak | grep -v '^#' > /etc/keystone/keystone.conf

  1. 隨機(jī)生成一個(gè)16進(jìn)制的token:openssl rand -hex 10
  2. 修改[default]部分,配置初始的令牌管理:admin_token = ADMIN_TOKEN
    ADMIN_TOKEN是剛才所生成的隨機(jī)值
  3. 修改[database]部分贱田,配置數(shù)據(jù)庫的連接:
    connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
  4. 修改[memcache]缅茉,配置Memcache 服務(wù):
    servers = localhost:11211
    11211是memecahced服務(wù)器的默認(rèn)端口號
  5. 修改[token]部分,配置UUID令牌的提供者和memcached的持久化驅(qū)動:
    provider = keystone.token.providers.uuid.Provider
    driver = keystone.token.persistence.backends.memcache.Token
  6. 修改[revoke] 部分, 配置SQL的撤回驅(qū)動:
    driver = keystone.contrib.revoke.backends.sql.Revoke
    可選:為了方便做問題診斷男摧,在[DEFAULT]部分,配置詳細(xì)的日志輸出:
    verbose = True
  7. 為keystone數(shù)據(jù)庫填充數(shù)據(jù):su -s /bin/sh -c "keystone-manage db_sync" keystone

4. 配置 Apache HTTP server

  1. 編輯/etc/apache2/apache2.conf译打,配置ServerName選項(xiàng)為控制節(jié)點(diǎn)hostname:ServerName controller
  2. 創(chuàng)建/etc/apache2/sites-available/wsgi-keystone.conf文件耗拓,添加如下內(nèi)容:
    Listen 5000
    Listen 35357
    
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /var/www/cgi-bin/keystone/main
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
        ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        LogLevel info
        ErrorLog /var/log/apache2/keystone-error.log
        CustomLog /var/log/apache2/keystone-access.log combined
    </VirtualHost>
    
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /var/www/cgi-bin/keystone/admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
        ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        LogLevel info
        ErrorLog /var/log/apache2/keystone-error.log
        CustomLog /var/log/apache2/keystone-access.log combined
    </VirtualHost>
    
  3. 啟用身份認(rèn)證服務(wù)的虛擬主機(jī):
    ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
  4. 為WSGI組件創(chuàng)建目錄結(jié)構(gòu):mkdir -p /var/www/cgi-bin/keystone
  5. 拷貝WSGI組件到當(dāng)前創(chuàng)建好的目錄/var/www/cgi-bin/keystone下:
    curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo | tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin
  6. 設(shè)置目錄和文件的權(quán)限:
    chown -R keystone:keystone /var/www/cgi-bin/keystone
    chmod 755 /var/www/cgi-bin/keystone/*
  7. 重啟apache http server:service apache2 restart
  8. 刪除ubuntu默認(rèn)創(chuàng)建的SQLite數(shù)據(jù)庫:rm -f /var/lib/keystone/keystone.sqlite

二、配置服務(wù)實(shí)體與API端點(diǎn)

1. 配置認(rèn)證服務(wù)的服務(wù)實(shí)體

  1. 設(shè)置操作系統(tǒng)臨時(shí)環(huán)境變量:校驗(yàn)令牌:export OS_TOKEN=ADMIN_TOKEN
  2. 設(shè)置操作系統(tǒng)臨時(shí)環(huán)境變量:端點(diǎn)URL:export OS_URL=http://controller:35357/v2.0
  3. 為認(rèn)證服務(wù)創(chuàng)建服務(wù)實(shí)體:
    openstack service create --name keystone --description "OpenStack Identity" identity
  4. 配置認(rèn)證服務(wù)的API端點(diǎn):
    openstack endpoint create --publicurl http://controller:5000/v2.0 --internalurl http://controller:5000/v2.0 --adminurl http://controller:35357/v2.0 --region RegionOne identity

三奏司、創(chuàng)建項(xiàng)目(租戶)乔询、用戶和角色

  1. 創(chuàng)建admin租戶:openstack project create --description "Admin Project" admin
  2. 創(chuàng)建admin用戶:openstack user create --password-prompt admin
  3. 創(chuàng)建admin角色:openstack role create admin
  4. 添加admin角色到admin租戶和用戶:openstack role add --project admin --user admin admin

四、創(chuàng)建服務(wù)項(xiàng)目

  1. 位其他的OpenStack服務(wù)創(chuàng)建服務(wù)項(xiàng)目:openstack project create --description "Service Project" service

五韵洋、創(chuàng)建普通項(xiàng)目和用戶

  1. 創(chuàng)建demo項(xiàng)目:openstack project create --description "Demo Project" demo
  2. 創(chuàng)建demo用戶:openstack user create --password-prompt demo
  3. 創(chuàng)建demo角色:openstack role create user
  4. 添加user角色到demo租戶和用戶:openstack role add --project demo --user demo user

六竿刁、校驗(yàn)安裝

1. 校驗(yàn)安裝前的準(zhǔn)備

  1. 基于安全的原因,先臨時(shí)禁止校驗(yàn)令牌的機(jī)制食拜。編輯/etc/keystone/keystone-paste.ini:
    移除admin_token_auth從[pipeline:public_api], [pipeline:admin_api], [pipeline:api_v3]部分
  2. 取消設(shè)置的操作系統(tǒng)環(huán)境變量:unset OS_TOKEN OS_URL

2. 使用admin用戶校驗(yàn)安裝

  1. 以admin用戶负甸,從2.0版本的認(rèn)證API申請一個(gè)校驗(yàn)令牌:
    openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password token issue
    3.0版本的認(rèn)證API支持域名,以admin用戶申請一個(gè)校驗(yàn)令牌:
    openstack --os-auth-url http://controller:35357 --os-project-domain-id default --os-user-domain-id default --os-project-name admin --os-username admin --os-auth-type password token issue
  2. 以admin用戶打月,校驗(yàn)admin用戶是否有權(quán)限云查看認(rèn)證服務(wù)中所包含的項(xiàng)目:
    openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password project list
  3. 以admin用戶奏篙,查看認(rèn)證服務(wù)中的用戶是否創(chuàng)建成功:
    openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password user list
  4. 以admin用戶迫淹,查看認(rèn)證服務(wù)中的角色是否創(chuàng)建成功:
    openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password role list

3. 使用demo用戶校驗(yàn)安裝

  1. 以demo用戶,從v3版本的認(rèn)證API中申請校驗(yàn)令牌:
    openstack --os-auth-url http://controller:5000 --os-project-domain-id default --os-user-domain-id default --os-project-name demo --os-username demo --os-auth-type password token issue
  2. 以demo用戶充易,嘗試能否執(zhí)行只有管理用戶才能執(zhí)行的查看用戶的操作:
    openstack --os-auth-url http://controller:5000 --os-project-domain-id default --os-user-domain-id default --os-project-name demo --os-username demo --os-auth-type password user list

七盹靴、創(chuàng)建OpenStack客戶端腳本

1. 創(chuàng)建admin用戶的腳本

創(chuàng)建和編輯文件admin-openrc.sh瑞妇,加入如下內(nèi)容:

export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3

2. 創(chuàng)建demo用戶的腳本

創(chuàng)建和編輯文件demo-openrc.sh辕狰,加入如下內(nèi)容:

export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=demo
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v3

3. 測試腳本

  1. 加載腳本:source admin-openrc.sh
  2. 測試腳本:openstack token issue
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市悬钳,隨后出現(xiàn)的幾起案子默勾,更是在濱河造成了極大的恐慌聚谁,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件环疼,死亡現(xiàn)場離奇詭異炫隶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)爸吮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門望门,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筹误,“玉大人,你說我怎么就攤上這事哄酝。” “怎么了陶衅?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵搀军,是天一觀的道長罩句。 經(jīng)常有香客問我敛摘,道長,這世上最難降的妖魔是什么兄淫? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任氓润,我火速辦了婚禮薯鳍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘崩溪。我一直安慰自己斩松,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布乳幸。 她就那樣靜靜地躺著钧椰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓶埋。 梳的紋絲不亂的頭發(fā)上诊沪,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天端姚,我揣著相機(jī)與錄音,去河邊找鬼巫湘。 笑死橄仆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怠褐。 我是一名探鬼主播奈懒,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宪巨,長吁一口氣:“原來是場噩夢啊……” “哼捏卓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起遥金,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤稿械,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后页眯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窝撵,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡述吸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年蝌矛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隆豹。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡璃赡,死狀恐怖献雅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挺身,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布章钾,位于F島的核電站贱傀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏府寒。R本人自食惡果不足惜报腔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一榄笙、第九天 我趴在偏房一處隱蔽的房頂上張望祷蝌。 院中可真熱鬧,春花似錦帆卓、人聲如沸巨朦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糊啡。三九已至,卻和暖如春吁津,著一層夾襖步出監(jiān)牢的瞬間棚蓄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工碍脏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留梭依,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓典尾,卻偏偏與公主長得像役拴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子河闰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容