连接keystone两种方式:
- 一种使用命令
- 一种使用环境变量
1、通过环境变量方式连接keystone(适合在初始化场景使用)
- 配置认证令牌环境变量
export OS_TOKEN=07081849f55281652dac
备注:07081849f55281652dac这个值与/etc/keystone/keystone.conf配置文件中的admin_token一致
- 配置连接到keystone的地址
export OS_URL=http://192.168.137.11:35357/v3
设置keystone的admin(35357)端口,v3是用第三个版本
- 配置认证API版本
export OS_IDENTITY_API_VERSION=3
2、通过命令方式连接keystone(需要在创建域、项目、用户后使用)
openstack --os-auth-url http://192.168.137.11:35357/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name admin --os-username admin token issue
创建域、项目、用户和角色
- 创建default域
openstack domain create --description "Default Domain" default
提示:--description是域的描述,最后一个是域的名称
- 创建admin项目
openstack project create --domain default --description "Admin Project" admin
命令格式:openstack project --domain 域 --description "描述" 项目名
作用:管理所有的云主机
- 创建admin用户
openstack user create --domain default --password-prompt admin
- 创建admin角色
在一个项目里面有多个角色,我们只能创建在配置文件中设置的角色。
配置文件路径/etc/keystone/policy.json,我们可以在这个文件自定义新的角色。
openstack role create admin
- 添加admin角色到admin项目和用户上
把admin用户,添加到admin项目,并授权admin的角色
或者可以说:admin项目添加一个admin用户,它的角色是admin
openstack role add --project admin --user admin admin
小结:前三个环境变量是为了连接到keystone
上,后面的就是为了创建域
、项目
、用户
和角色
,给域、项目、用户和角色做了一个关联。
demo环境
- 创建一个demo项目
demo项目就类似于我们去阿里云上注册了一个账号,基本流程跟创建admin是一样的
openstack project create --domain default --description "Demo Project" demo
- 创建demo用户
openstack user create --domain default --password-prompt demo
- 创建user角色
openstack role create user
- 添加user角色到demo项目和用户
openstack role add --project demo --user demo user
重要服务与keystone
- 创建一个service项目
各个服务(Glance、Nova、Neutron)之间需要去访问keystone,那么访问keystone就需要做认证,就需要我们创建用户,这些用户需要属于一个项目。所以我们要先创建一个service项目,我们还需要给每个项目单独创建一个用户。
openstack project create --domain default --description "Service Project" service
- 创建glance用户
openstack user create --domain default --password-prompt glance
授权
openstack role add --project service --user glance admin
- 创建nova用户
openstack user create --domain default --password-prompt nova
授权
openstack role add --project service --user nova admin
- 创建neutron用户
openstack user create --domain default --password-prompt neutron
授权
openstack role add --project service --user neutron admin