您好,登錄后才能下訂單哦!
Keustone身份認證組件是openstack項目中默認的身份認證管理系統(tǒng),所有的服務(wù)都需要keystone認證、根據(jù)用戶的等級分配相應(yīng)的權(quán)限。
那么我們現(xiàn)在配置最新版本openstack的認證服務(wù)keystone
前提準備:Centos7.3、163yum源、openstack-o版源、DNS、時間同步、數(shù)據(jù)庫、rabbitmq、memcache
創(chuàng)建數(shù)據(jù)庫
create database keystone;
為數(shù)據(jù)庫用戶賦予權(quán)限(賦予一個本地用戶權(quán)限,一個遠程登入權(quán)限)
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '111';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '111';
查看數(shù)據(jù)庫
安裝openstack客戶端軟件以及keystone的相關(guān)軟件
yum install python-openstackclient openstack-keystone httpd mod_wsgi -y
如果報錯的話,說明你沒有配置openstack的源
我們需要配置openstack的源(僅供參考)
配置源成功后,
[root@wang02 ~]# yum clean all
[root@wang02 ~]# yum makecache
接下來我們配置keystone,配置文件在/etc/keystone/keystone.conf
把配置文件做備份:
[[root@wang02 ~]# cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.ds.bak
配置keystone
[root@wang02 ~]# cat /etc/keystone/keystone.conf.ds.bak | grep -v ^# | uniq > /etc/keystone/keystone.conf
[root@wang02 ~]# sed -i '/^\[database\]$/a\connection = mysql+pymysql://keystone:111@wang01/keystone' /etc/keystone/keystone.conf
[root@wang02 ~]# sed -i '/^\[token\]$/a\provider = fernet' /etc/keystone/keystone.conf
同步數(shù)據(jù)庫
[root@wang02 ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
注意:O版的會有38個表
初始化fernet keys
[root@wang02 ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
創(chuàng)建訪問該實體的三個api端點
[root@wang02 ~]# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
> --bootstrap-admin-url http://wang02:35357/v3/ \
> --bootstrap-internal-url http://wang02:5000/v3/ \
> --bootstrap-public-url http://wang02:5000/v3/ \
> --bootstrap-region-id RegionOne
配置apache服務(wù)
[root@wang02 ~]# vi /etc/httpd/conf/httpd.conf
[root@wang02 ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
創(chuàng)建環(huán)境變量
[root@wang02 ~]# export OS_USERNAME=admin
[root@wang02 ~]# export OS_PASSWORD=ADMIN_PASS
[root@wang02 ~]# export OS_PROJECT_NAME=admin
[root@wang02 ~]# export OS_USER_DOMAIN_NAME=Default
[root@wang02 ~]# export OS_PROJECT_DOMAIN_NAME=Default
[root@wang02 ~]# export OS_IDENTITY_API_VERSION=3
[root@wang02 ~]# export OS_AUTH_URL=http://wang02:35357/v3
創(chuàng)建一個域
[root@wang02 ~]# openstack project create --domain default \
> --description "Service Project" service
創(chuàng)建一個demo的項目
[root@wang02 ~]# openstack project create --domain default \
> --description "Demo Project" demo
創(chuàng)建一個demo用戶
[root@wang02 ~]# openstack user create --domain default --password DEMO_PASS demo
創(chuàng)建一個demo的角色
[root@wang02 ~]# openstack role create user
將demo角色加入到demo項目中的demo用戶中
[root@wang02 ~]# openstack role add --project demo --user demo user
編輯/etc/keystone/keystone-paste.ini
在[pipeline:public_api], [pipeline:admin_api], and [pipeline:api_v3] 三個地方
移走:admin_token_auth
取消剛才設(shè)置的環(huán)境變量
unset OS_AUTH_URL OS_PASSWORD
驗證操作:
[root@wang02 ~]# openstack --os-auth-url http://wang02:35357/v3 \
> --os-project-domain-name default --os-user-domain-name default \
> --os-project-name admin --os-username admin token issue
Password:
密碼是 ADMIN_PASS
到此為止,keystone搭建成功。
為了每次都得輸入環(huán)境變量,我們創(chuàng)建一個腳本
[root@wang02 ~]# vi admin-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://wang02:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
驗證一下腳本:
[root@wang02 ~]# . admin-openrc
[root@wang02 ~]# openstack token issue
到這里我們的keystone算是搭建完成。如果搭建過程中遇到問題或有不對的地方,大家可提出來,我們共同進步。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。