一) 创建环境变量链接keyston
vim adminrc
export OS_USERNAME=admin
export OS_PASSWORD=redhat
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:357/v3 #设置keystone的admin(35357)端口,v3是用第三个版本
export OS_IDENTITY_API_VERSION=3 #配置认证API版本
二) 创建域、项目、用户和角色
2.1创建default域
# openstack domain create --description
"Default Domain"
default
提示:--description是域的描述,最后一个是域的名称
2.2 创建admin项目
# openstack project create --domain default --description
"Admin Project"
admin
作用:管理所有的云主机
2.3 创建admin用户
openstack user create --domain default --password-prompt admin
2.4 创建admin角色
在一个项目里面有多个角色,我们只能创建在配置文件中设置的角色。
配置文件路径/etc/keystone/policy.json,我们可以在这个文件自定义新的角色。
# source adminrc
2.5 添加admin角色到admin项目和用户上
把admin用户,添加到admin项目,并授权admin的角色
或者可以说:admin项目添加一个admin用户,它的角色是admin
openstack role add --project admin --user admin admin
小结:前三个环境变量是为了连接到keystone
上,后面的就是为了创建域
、项目
、用户
和角色
,给域、项目、用户和角色做了一个关联。
三)demo环境
- 创建一个demo项目
3.1 demo项目就类似于我们去阿里云上注册了一个账号,基本流程跟创建admin是一样的
openstack project create --domain default --description
"Demo Project"
demo
3.2 创建demo
openstack user create --domain default --password-prompt demo
3.3 创建user角色
openstack role create user
3.4 添加user角色到demo项目和用户
openstack role add --project demo --user demo user
四)重要服务与keystone
- 创建一个service项目
4.1 各个服务(Glance、Nova、Neutron)之间需要去访问keystone,那么访问keystone就需要做认证,就需要我们创建用户,这些用户需要属于一个项目。所以我们要先创建一个service项目,我们还需要给每个项目单独创建一个用户。
openstack project create --domain default --description
"Service Project"
service
4.2 创建glance用户
openstack user create --domain default --password-prompt glance
4.3 授权
openstack role add --project service --user glance admin
4.4 创建nova用户
openstack user create --domain default --password-prompt nova
4.5 授权
openstack role add --project service --user nova admin
4.6 创建neutron用户
openstack user create --domain default --password-prompt neutron
4.7 授权用户
openstack role add --project service --user neutron admin