keystone认证服务
1 | 功能: |
keystone角色概念
1 | Role即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像 |
keystone的service和endpoint端点概念
1 | Service: 即服务实体,如Nova、Glance、Swift。所有的服务就需要在keystone中创建一个账户 |
创建keystone数据库
1 | CREATE DATABASE keystone; |
安装部署Keystone
1 | yum install -y openstack-keystone httpd mod_wsgi |
配置keystone
1 | vim /etc/keystone/keystone.conf |
1 | 配置keystone连接到mysql |
1 | 配置令牌提供程序 |
同步keystone数据库
1 | su -s /bin/sh -c "keystone-manage db_sync" keystone |
初始化Fernet密钥库
1 | keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone |
初始化引导身份认证服务
1 | 密码使用admin |
配置Apache HTTP服务器
1 | vim /etc/httpd/conf/httpd.conf #修改ServerName |
1 | 软链配置文件 |
1 | 启动Apache |
启动验证
1 | 查看端口 |
故障排查
1 | 如果keystone启动失败,需要修改配置文件/etc/keystone/keystone.conf 开启debug日志输出模式 |
创建一个服务项目
配置管理账户(其中密码是刚才定义的admin)
1 | export OS_USERNAME=admin |
1 | 创建名为service项目(目的:让所需的glance/nova等服务注册到service项目中) |
验证配置
1 | unset OS_AUTH_URL OS_PASSWORD 临时取消环境变量 |
使用admin用户来验证token
1 | openstack --os-auth-url http://192.168.56.11:35357/v3 \ |
使用demo用户来验证token
1 | openstack --os-auth-url http://192.168.56.11:5000/v3 \ |
创建环境变量脚本
- 创建admin的环境变量脚本
vim /scripts/admin-openrc
1 | export OS_PROJECT_DOMAIN_NAME=Default |
- 创建demo的环境变量脚本
vim /scripts/demo-openrc
1 | export OS_PROJECT_DOMAIN_NAME=Default |
- 使用环境变量脚本
1 | source /scripts/admin-openrc |
- 验证
1 | 不论使用哪个环境变量,只要出现对应token结果就OK |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2018/01/03/OpenStack-Pike-Keystone认证服务3/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!