照着官網來安裝openstack pike之keystone安裝


openstack基礎環境安裝完成后,現在開啟安裝keystone服務(在控制節點上執行下面所有操作)

1、為keystone創建數據庫

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';

 2、配置keystone

# yum install openstack-keystone httpd mod_wsgi

 修改配置文件/etc/keystone/keystone.conf,在[database]部分配置下面配置:

connection = mysql+pymysql://keystone:keystone@192.168.101.10/keystone

 在[token]下面添加如下:

provider = fernet

 進行驗證:

[root@node1 ~]# egrep "^provider" /etc/keystone/keystone.conf                       
provider = fernet

 3、進行keystone同步數據:

# su -s /bin/sh -c "keystone-manage db_sync" keystone         同步數據

 可以在日志中進行查看:

/var/log/keystone/keystone.log   記錄着同步數據庫

 4、初始化fernet key倉庫

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

 5、Bootstrap the Identity service:

# keystone-manage bootstrap --bootstrap-password bootstrap  --bootstrap-admin-url http://192.168.101.10:35357/v3/  --bootstrap-internal-url http://192.168.101.10:5000/v3/  --bootstrap-public-url http://192.168.101.10:5000/v3/  --bootstrap-region-id RegionOne

 這里設置的賬號密碼admin:bootstrap非常重要,后面要經常用到

然后將httpd服務與keystone進行結合:

1、修改配置文件/etc/httpd/conf/httpd.conf
ServerName 192.168.101.10

 2、創建鏈接

# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ 

 3、開啟httpd服務:

# systemctl enable httpd.service
# systemctl start httpd.service

 4、配置admin管理用戶(權限管理),在當前session執行就行

# export OS_USERNAME=admin
# export OS_PASSWORD=bootstrap   這里的密碼對應keystone-manage bootstrap
# export OS_PROJECT_NAME=admin
# export OS_USER_DOMAIN_NAME=Default
# export OS_PROJECT_DOMAIN_NAME=Default
# export OS_AUTH_URL=http://192.168.101.10:35357/v3     35357是管理端口
# export OS_IDENTITY_API_VERSION=3

5、創建一個項目,域,用戶和角色

# openstack project create --domain default --description "Service Project" service

 

創建一個demo項目:
# openstack project create --domain default --description "Demo Project" demo

 創建一個demo 用戶:

# openstack user create --domain default --password-prompt demo

 需要設定並輸入密碼:demo

創建一個user 角色:
# openstack role create user

 將user這個角色添加到demo項目以及demo用戶中:

# openstack role add --project demo --user demo user

 note:service項目用來添加各個服務:glance、nova等等

校驗上面的操作:
1、修改配置文件/etc/keystone/keystone-paste.ini
  將admin_token_auth從配置文件中的sections:[pipeline:public_api]、[pipeline:admin_api]、[pipeline:api_v3]移除
  由於沒有,所以這步驟沒有更改
2、取消變量OS_AUTH_URL OS_PASSWORD
# unset OS_AUTH_URL OS_PASSWORD

 3、使用admin用戶來請求一個認證token:

# openstack --os-auth-url http://192.168.101.10:35357/v3  --os-project-domain-name Default --os-user-domain-name Default  --os-project-name admin --os-username admin token issue

 這里需要輸入密碼:bootstrap

4、使用demo用戶來請求認證token
# openstack --os-auth-url http://192.168.101.10:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name demo --os-username demo token issue

 這里需要輸入密碼:demo

至此keystone服務安裝完成
 
將上述admin、demo的項目和用戶的信息寫到一個腳本變量中,用到的時候source一下就可以,不必export一個個變量:
vim admin-openrc: 針對admin
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=bootstrap
export OS_AUTH_URL=http://192.168.101.10:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
vim demo-openrc: 針對demo
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.101.10:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
demo的token同理上面的admin
 
keystone服務基本安裝完成,其他操作繼續參考官方文檔
如果遇到下面錯誤:

請檢查admin賬號的密碼是否正確


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM