1. 程式人生 > >Centos7手動部署Openstack Mitaka版安裝配置--(三)安裝keystone認證服務

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_TOKENOS_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