CentOS 7 Keystone:配置与管理指南
Keystone简介

Keystone是OpenStack身份服务组件,负责处理认证和授权,在OpenStack环境中,Keystone负责用户认证、服务目录和访问控制,在CentOS 7上配置Keystone,可以方便地管理OpenStack服务的用户和权限。
安装Keystone
安装依赖包
sudo yum install openstack-keystone python-keystoneclient
初始化Keystone
sudo keystone-manage db_create sudo keystone-manage db_sync
创建服务端点
sudo keystone-manage bootstrap --bootstrap-password admin_password \ --bootstrap-admin-url http://controller:35357/v3/ \ --bootstrap-internal-url http://controller:35357/v3/ \ --bootstrap-public-url http://controller:5000/v3/
配置Keystone

- 编辑
/etc/keystone/keystone.conf文件,配置以下参数:
[database] # ... connection = mysql+pymysql://keystone:keystone_password@controller/keystone # ... [memcache] # ... host = controller port = 11211 # ... [admin] # ... admin_token = admin_token # ... [server] # ... public_endpoint = http://controller:5000/v3/ internal_endpoint = http://controller:5000/v3/ admin_endpoint = http://controller:35357/v3/ # ...
重新启动Keystone服务
sudo systemctl restart openstack-keystone
验证Keystone
使用keystone命令行工具验证
sudo keystone user-list
使用Python脚本验证
from keystoneclient.v3 import client as ksclient
keystone = ksclient.Client(session=ksclient.Session(
auth=ksclient.Auth(
auth_url='http://controller:35357/v3',
username='admin',
password='admin_password',
project_name='admin',
user_domain_name='Default',
project_domain_name='Default'
)
))
users = keystone.users.list()
for user in users:
print(user.name)
FAQs
-
问题:Keystone服务无法启动,错误信息显示数据库连接失败。

解答:请检查
/etc/keystone/keystone.conf文件中的数据库连接配置是否正确,确保数据库服务运行正常,并且Keystone用户有权限访问数据库。 -
问题:如何为特定项目创建用户?
解答:使用keystone命令行工具创建用户,并指定项目:
sudo keystone user-create --name user_name --pass user_password \ --email user_email --project project_name --user-domain default \ --project-domain default
