Centos7手動部署Openstack Mitaka版安裝配置--(三)安裝keystone認證服務
安裝keystone認證服務
1、建立keystone資料庫
#mysql -uroot -phncgo110 -e "CREATE DATABASE keystone;"
注意將hncgo110替換為自己的資料庫密碼
2、建立資料庫使用者及賦予許可權
#mysql -uroot -phncgo110 -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'hncgo110';"
#mysql -uroot -phncgo110 -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'hncgo110';"
注意將hncgo110替換為自己的資料庫使用者密碼
3、生成一個隨機值在初始的配置中作為管理員的令牌
#openssl rand -hex 10
將生成的token記錄下來,在後邊的配置中需要使用
4、安裝keystone相關軟體包
#yum install openstack-keystone httpd mod_wsgi openstack-utils -y
文件中都是使用快速的配置方法,所以必須安裝Openstack-utils
5、配置/etc/keystone/keystone.conf檔案
#openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token ed54174f9f7b1545a535
##將ed54174f9f7b1545a535替換成自己的Token
#openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:[email protected]/keystone
##替換自己的資料庫IP地址和相應的密碼
6、初始化身份認證服務的資料庫並設定toden存放的位置
#su -s /bin/sh -c "keystone-manage db_sync" keystone
#openstack-config --set /etc/keystone/keystone.conf token provider fernet
#openstack-config --set /etc/keystone/keystone.conf token driver memcache
7、初始化Fernet keys
#keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
8、配置http服務
#sed -i "s/#ServerName www.example.com:80/ServerName 192.168.31.100/" /etc/httpd/conf/httpd.conf
##配置對應的IP地址,以供web進行訪問
9、用下面的內容建立檔案 /etc/httpd/conf.d/wsgi-keystone.conf,keystone的http配置檔案
#vim /etc/httpd/conf.d/wsgi-keystone.conf
Listen 5000
Listen 35357
<VirtualHost *:5000>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
WSGIScriptAlias / /usr/bin/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>
10、啟動 Apache HTTP 服務並配置其隨系統啟動
#systemctl enable httpd.service
#systemctl start httpd.service
#systemctl status httpd.service
#systemctl list-unit-files |grep httpd.service
11、匯入環境變數
#export OS_TOKEN=ed54174f9f7b1545a535
#export OS_URL=http://192.168.31.100:35357/v3
#export OS_IDENTITY_API_VERSION=3
########替換自己的Token
12、建立域‘‘default’’預設域
#openstack domain create --description "Default Domain" default
13、建立admin專案
#openstack project create --domain default --description "Admin Project" admin
14、建立使用者輸入admin密碼
#openstack user create --domain default admin --password admin
密碼設定為:admin 根據實際情況設定相應的密碼
15、建立 admin 角色
#openstack role create admin
16、新增admin
角色到 admin 專案和使用者上
#openstack role add --project admin --user admin admin
17、建立service專案
#openstack project create --domain default --description "Service Project" service
18、建立demo專案
#openstack project create --domain default --description "Demo Project" demo
19、建立demo使用者並設定Demo密碼
#openstack user create --domain default demo --password demo
密碼設定為:demo 根據實際情況設定相應的密碼
20、建立user角色
#openstack role create user
21、新增 user角色到
demo 專案和使用者
#openstack role add --project demo --user demo user
22、建立keystone實體和身份認證服務
#openstack service create --name keystone --description "OpenStack Identity" identity
23、建立認證服務的 API 端點
#openstack endpoint create --region RegionOne identity public http://192.168.31.100:5000/v3
#openstack endpoint create --region RegionOne identity internal http://192.168.31.100:5000/v3
#openstack endpoint create --region RegionOne identity admin http://192.168.31.100:35357/v3
24重置OS_TOKEN
和OS_URL
環境變數
#unset OS_TOKEN OS_URL
25、測試是否可以使用admin賬戶進行登陸認證
#openstack --os-auth-url http://192.168.31.100:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue --os-password admin
26、測試是否可以使用demo賬戶進行登陸認證
#openstack --os-auth-url http://192.168.31.100:5000/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name demo --os-username demo token issue --os-password demo
27、建立admin使用者環境變數,建立/root/admin-openrc 檔案並寫入如下內容
#vim /root/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
export OS_AUTH_URL=http://192.168.31.100:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
####修改admin使用者的密碼及對應的IP地址
28、建立demo使用者環境變數,建立/root/demo-openrc 檔案並寫入下列內容
vim /root/demo-openrc
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
export OS_AUTH_URL=http://192.168.31.100:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
####修改demo使用者的密碼及對應的IP地址
29、驗證
#source /root/admin-openrc
#openstack token issue