進行管理,沒有用戶,只能用token登錄,之前我們創建了一個10個字節的隨機數作爲token使用,寫在了配置文件中,現在要使用這個token:
export OS_TOKEN=78870e7a240c3463dd4c
export OS_URL=http://192.168.179.140:35357/v3
export OS_IDENTITY_API_VERSION=3
export PS1='[\u@\h \W(keystone_tokenv3)]\$ '
P.S.: 使用v3驗證,記得要加domain:
記住: 如果我們使用v3驗證的話,除了role外,其他我們還要指定domain
創建domain
查看幫助:
openstack --help | grep domain
創建管理命令:
openstack domain create
openstackdomain set --disable
openstackdomain delete
openstackdomain show
用戶管理: v3注意domain
用戶管理:
openstack role create _member_
這裏需要注意的是:除了角色不需要指定domain以外,其他的比如用戶,項目都要指定domain
創建項目project: 創建admin和servicesproject
新建keystone_admin_v3
unset OS_TOKEN
unset OS_URL
unset OS_IDENTITY_API_VERSION
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=redhat
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL=http://192.168.179.140:5000/v3
export OS_IMAGE_API_VERSION=2
export PS1='[\u@\h \W(keystone_adminv3)]\$ '
使用keystone_adminv3來驗證出現如下信息,說明我們沒有定義services
切換到token登錄並創建service和endpoint
用戶(無論是Dashboard, API Client)都需要訪問Keystone獲取服務列表,以及每個服務的地址(Openstack中稱爲Endpoint).訪問服務的地址.
Endpoint可以理解爲訪問服務url
有管理員服務 adminurl
內部服務 internalurl
公共服務publicurl
openstack service create --name keystoneidentity
keystonev2的方法如下:
openstackendpoint create --region RegionOne --publicurl '' --internalrul '' --adminurl''
keystonev3的方法如下:
openstack endpoint create --region RegionOneidentity public http://192.168.179.140:5000/v3
openstack endpoint create --region RegionOneidentity internal http://192.168.179.140:5000/v3
openstack endpoint create --region RegionOneidentity admin http://192.168.179.140:35357/v3
添加完服務和endpoint之後,source keystone_adminv3,即可切換到用戶密碼登錄。
刪除v3的配置: