说明
1 keystone 数据存储至 mariadb 中
2 keystone 主要为 nova, neutron, cinder 等组件提供数据认证服务,
3 keystone 自身管理 user, tenant, service, endpoint 等重要信息
安装
yum install -y openstack-keystone.noarch openstack-keystone-doc.noarch python-keystone.noarch python-keystoneclient.noarch python-keystoneclient-doc.noarch python-keyring openstack-utils
配置
直接配置 token
# SERVICE_TOKEN=1wef2djdf98324jkl
# openstack-config --set /etc/keysto ne/keystone.conf DEFAULT admin_token $SERVICE_TOKEN
强制更新 token 并删除旧 token
# keystone-manage token_flush
直接配置 keystone 的数据库连接方法
# openstack-config --set /etc/keystone/keystone.conf database sql_connection mysql://keystone:test123@240.10.130.25/keystone
keystone 服务器设定
# openstack-config --set /etc/keystone/keystone.conf DEFAULT public_bind_host 240.10.130.25
# openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_bind_host 240.10.130.25
# openstack-config --set /etc/keystone/keystone.conf DEFAULT compute_port 8774
# openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_port 35357
# openstack-config --set /etc/keystone/keystone.conf DEFAULT public_port 5000
keystone 存储格式定义
# openstack-config --set /etc/keystone/keystone.conf signing token_format UUID
# openstack-config --set /etc/keystone/keystone.conf token provider keystone.token.providers.uuid.Provider
切记修改日志目录权限
chown keystone:keystone /var/log/keystone -R
启动 keystone 服务
# service openstack-keystone start
创建相应数据库表
# keystone-manage db_sync
假如连接成功, 则自动创建下面表
mysql> use keystone;
mysql> show tables;
+-----------------------+
| Tables_in_keystone |
+-----------------------+
| assignment |
| credential |
| domain |
| endpoint |
| group |
| migrate_version |
| policy |
| project |
| region |
| role |
| service |
| token |
| trust |
| trust_role |
| user |
| user_group_membership |
+-----------------------+
16 rows in set (0.00 sec)
keystone 客户端安装
要连接 keystone 需要安装 python-keystoneclient
yum install -y python-keystoneclient
创建测试 tenant 与 admin tenant
参考 /etc/keystone/keystone.conf 中自定义的 token 与 admin_bind_host 参考, 对应下面 endpoint 与 token 值
# export ENDPOINT=240.10.130.25
# export SERVICE_TOKEN=1wef2djdf98324jkl
# export SERVICE_ENDPOINT=http://${ENDPOINT}:35357/v2.0
创建 tenant 测试
[root@hh-yun-compute-130025 ~]# keystone tenant-create --name cookbook --description "Default Cookbook Tenant" --enabled true
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Default Cookbook Tenant |
| enabled | True |
| id | c74de0a2760343ac93f27095023be1cd |
| name | cookbook |
+-------------+----------------------------------+
检测 tenant 信息
[root@hh-yun-com