一) 創建環境變量鏈接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