OpenStack Ocata 安裝(二)安裝身份驗證(Keystone)服務
11、安裝身份驗證(Keystone)服務:
OpenStack標識服務為管理身份驗證、授權和服務目錄提供了單一的整合點。標識服務通常是使用者與使用者互動的第一個服務
建立該服務的資料庫和資料庫管理賬戶:
controller#
mysql -uroot -p123
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO'keystone'@'localhost' \
IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO'keystone'@'%' \
IDENTIFIED BY 'keystone';
exit
配置keystone的配置檔案
controller#
vi /etc/keystone/keystone.conf
[database]
connection = mysql+pymysql://keystone:keystone@controller/keystone
[token]
provider = fernet
同步(寫入)資料庫
controller#
su -s /bin/sh -c "keystone-managedb_sync" keystone
初始化金鑰儲存庫:
controller#
keystone-manage fernet_setup--keystone-user keystone --keystone-group keystone
keystone-manage credential_setup--keystone-user keystone --keystone-group keystone
引導身份服務,設定admin使用者(管理使用者)和密碼
controller#
keystone-manage bootstrap--bootstrap-password admin\
--bootstrap-admin-urlhttp://controller:35357/v3/ \
--bootstrap-internal-urlhttp://controller:5000/v3/ \
--bootstrap-public-urlhttp://controller:5000/v3/ \
--bootstrap-region-id RegionOne
12、安裝httpd服務:
配置web伺服器(HTTPd)
controller#
vi /etc/httpd/conf/httpd.conf
ServerName controller
把keystone的虛擬主機檔案連結的http的配置目錄下
ln -s/usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
開機自啟動和啟動服務
controller#
systemctl enable httpd.service
systemctl restart httpd.service
13、keystone的建立以及驗證操作:
配置管理使用者的環境變數
controller#
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
exportOS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
建立一個域、專案、使用者和角色:
controller#
openstack project create --domain default \
--description "Service Project"service
openstack project create --domain default \
--description "Demo Project" demo
openstack user create --domain default \
--password-prompt demo
下一步輸入建立的demo使用者的密碼
openstack role create user
將使用者角色新增到演示專案和使用者:
controller#
openstack role add --project demo --userdemo user
編輯 的/etc/keystone/keystone-paste.ini檔案,並從[public_api]、[admin_api]、[api_v3]段刪除admin_token_auth引數。禁止臨時認證機制。
驗證操作
controller#
unset OS_AUTH_URL OS_PASSWORD
openstack --os-auth-urlhttp://controller:35357/v3 \
--os-project-domain-name default--os-user-domain-name default \
--os-project-name admin --os-username admintoken issue
輸入admin使用者的密碼,正確會有輸出。
openstack --os-auth-urlhttp://controller:5000/v3 \
--os-project-domain-name default--os-user-domain-name default \
--os-project-name demo --os-username demotoken issue
輸入demo使用者的密碼,正確會有輸出。
建立客戶機環境OpenStack指令碼(admin和demo使用者的環境指令碼):
controller#
vi admin.sh
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
exportOS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
vi demo.sh
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demo
exportOS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
使用source命令匯入腳本里的環境變數以及檢視keystone認證詳情
controller#
source admin
openstack token issue