連接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