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