11. keystone工作流程及部署
查看/etc/nova/nova.config
egrep -v '(^#|^$)' /etc/nova/nova.config
nova配置文件里中keystone的authtoken,说明nova组件会去取keystone认证,才能工作。
glance等同理:
packstack部署openstack为这些用户已经创建好了相关的组件以及配置
上图图解: tom 登录dashboard,keystone会给一个token,叫做unscoped token,从这个token就可以知道自己属于哪个租户
keystone用第一个token继续查询tom还有哪些权限 ,然后回给tom第二个token,叫做scoped token 相当于房卡,然后tom 就可以访问其他的各种服务了。
具体的进程是如何进行的,如下:
id就是unscope token:
#openstack token issue
[[email protected] ~(keystone_admin)]# openstack tokenissue
+------------+----------------------------------+
| Field | Value |
+------------+----------------------------------+
| expires | 2018-01-13T07:57:25Z |
| id | 430f57ac5b6749d3b3cc0568e6389396 |
| project_id | 522c907188704f5cac4f1d88b4503091|
| user_id | dd6489d6833c4078933866a14baa2e10 |
+------------+----------------------------------+
查看id,位于哪个tenant下:
[[email protected] ~(keystone_admin)]# curl -i -X GEThttp://192.168.179.137:35357/v2.0/tenants -H "User-Agent:python-keystoneclient" -H "X-Auth-Token:
430f57ac5b6749d3b3cc0568e6389396"
如何查看有哪些权限:
curl -X POST http://192.168.179.137:35357/v2.0/tokens -d'{"auth":{"tenantName":"admin","passwordCredentials":{"username":"admin","password":"redhat"}}}'-H "Content-type: application/json"
keystone v3里domain的作用:
keystone认证的方式有两种: v2.0和v3 , v3比v2.0多了一个domain和组
重新安装一个新的packstack配置yum源等:
应答文件中修改密码
生成的应答文件中的keystone版本信息修改
注意:
修改下cinder安装,安装的时候会有bug,把下面的cinder install 改成n。
安装成功后,登录dashboard,发现无法登陆admin用户:
原因是当前openstack没有开启keystone v3的验证,如何开启:
如何查看domain
重启下httpd和memcached,重新登录dashboard
再次连接就会出现多了个域domain,如下
对于域domain的管理:在新建的域中可以创建很多个项目,用户同理
域里面可以添加不同的组,每个组可以添加不同的用户
这样出现了一个新的概念,组的权限,可以直接修改组权限来使用