OpenStack-MitakaCentos7.2双节点搭建--(二)Keystone(认证服务)
一,创建数据库
用数据库连接客户端以 root 用户连接到数据库服务器:
#mysql -u root -p000000
#这里的6个0是你之前设置的密码,请用你自己设置的密码进行代替
创建 keystone 数据库:
CREATE DATABASE keystone;
#可以使用小写
对keystone
数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
- 1
- 2
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
- 1
- 2
注意:mysql中每句话使用分号进行结尾 “ ; ”
**KEYSTONE_DBPASS **用自己想设置的密码进行代替 例如 000000
exit #退出
2. 生成一个随机的管理员令牌,也就是token
#openssl rand -hex 10
二、安装keystone服务
#yum -y install openstack-keystone httpd mod_wsgi
编辑文件 /etc/keystone/keystone.conf 添加或者修改部分内容:
首先在[DEFAULT]添加admin_token
admin_token=
3befc4b19e052e590ad8
在[database]部分添加数据库连接
connection = mysql+pymysql://keystone:000000@controller/keystone
- 1
配置provider:
在[token]添加如下内容
provider = fernet
- 1
2、初始化身份认证服务的数据库:
su -s /bin/sh -c "keystone-manage db_sync" keystone
- 1
正常同步成功是比较慢的,无返回值
验证数据库是否同步成功:
进入mysql
mysql -uroot -p000000
use keystone;
- 1
- 2
- 3
show tables;
- 1
exit #退出数据库
如果验证操作为出错,那你是成功同步了,如果不是上述结果,应该是错了,可以查看我的博客keystone错误
初始化Fernet keys:
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
- 1
无返回值
三 、配置 Apache HTTP 服务器
编辑/etc/httpd/conf/httpd.conf
文件,配置ServerName
选项为控制节点:
vi /etc/httpd/conf/httpd.conf
ServerName controller
- 1
- 2
去掉原有的#注释符和 www.example.com:80
或者直接添加
ServerName controller
- 1
2,将/opt/mitaka
目录下的 wsgi-keystone.conf
配置文件复制到 /etc/httpd/conf.d/
下
3,启动 Apache HTTP 服务并配置其随系统启动
#systemctl enable httpd.service
#systemctl start httpd.service
- 1
- 2
四、创建服务实体和API端点
1、
配置认证令牌:export OS_TOKEN=3befc4b19e052e590ad8
配置端点URL:export OS_URL=http://controller:35357/v3
配置认证 API 版本:export OS_IDENTITY_API_VERSION=3
2、
**创建服务实体和身份认证服务**
:
1、为Keystone本身创建服务
openstack service create --name keystone --description "OpenStack Identity" identity
- 1
1、创建公共端点:
openstack endpoint create --region RegionOne identity public http://controller:5000/v3
- 1
2、创建外部端点:
openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
- 1
3、创建管理端点:
openstack endpoint create --region RegionOne identity admin http://controller:35357/v3
- 1
五、创建域(domain)、项目(Project)、用户(user)和角色(role)
1、创建默认域:
openstack domain create --description "Default Domain" default
- 1
2、创建admin的项目:
openstack project create --domain default --description "Admin Project" admin
- 1
3、创建admin的用户:
openstack user create --domain default --password-prompt admin
- 1
我这里设置的密码是 000000
4、创建admin的角色:
openstack role create admin
- 1
5、添加admin
角色到 admin 项目和用户上
openstack role add --project admin --user admin admin
- 1
无返回值
6、创建service
项目:
openstack project create --domain default --description "Service Project" service
- 1
7、创建demo
项目:
openstack project create --domain default --description "Demo Project" demo
- 1
8、创建demo
用户:
openstack user create --domain default --password-prompt demo
- 1
9、创建 user 角色:
openstack role create user
- 1
10、添加 user角色到
demo 项目和用户:
openstack role add --project demo --user demo user
- 1
无返回值
六、验证Keystone服务
1、重置OS_TOKEN
和OS_URL
环境变量::
unset OS_TOKEN OS_URL
- 1
2、作为 admin 用户,请求认证令牌:
密码为之前设置的 000000
openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue
- 1
3、作为demo
用户,请求认证令牌:
密码为之前设置的 000000
openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name demo --os-username demo token issue
- 1
(3)清除环境变量
#unset OS_TOKEN OS_URL
- 1
七、创建 OpenStack 客户端环境脚本
1、写入环境变量
在 “~”
目录下 创建 admin-openrc
文件:
在 “~”
目录下 创建 demo-openrc
文件:
2、生效并验证:
. admin-openrc 无返回值
- 1
. demo-openrc
无返回值
请求认证令牌:
openstack token issue
- 1
文章来源: blog.csdn.net,作者:指剑,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/fly1574/article/details/86769541
- 点赞
- 收藏
- 关注作者
评论(0)