这一章描述如何在控制节点上安装和配置OpenStack身份认证服务,代码名称keystone。出于性能原因,这个配置部署Apache HTTP服务处理查询并使用Memcached存储tokens而不用SQL数据库。
在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。
完成下面的步骤以创建数据库:
用数据库连接客户端以 root 用户连接到数据库服务器:
$ mysql -u root -p
创建 keystone 数据库:
CREATE DATABASE keystone;
对``keystone``数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
用合适的密码替换 KEYSTONE_DBPASS 。
退出数据库客户端。
生成一个随机值在初始的配置中作为管理员的令牌。
$ openssl rand -hex 10
运行以下命令来安装包。
# apt-get install keystone
注解
由于是keystone软件包的依赖,python-keystoneclient 会被自动安装。
输入 :doc:`debconf/debconf-dbconfig-common`提示要求,这会 填写以下数据库访问指令。
[database]
...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
如果你决定不使用 dbconfig-common,那么你必须手动创建数据库和管理它的访问权限并且手动执行下面的内容。
# keystone-manage db_sync
生成一个随机值在初始的配置中作为管理员的令牌。
$ openssl rand -hex 10
初始化管理员身份令牌:
使用在上一步中生成的随机字符串。如果处于非交互模式或者没有指定令牌,配置工具将自动生成一段随机字符串。
然后,这个包会以您输入的值配置以下指令:
[DEFAULT]
...
admin_token = ADMIN_TOKEN
创建 admin 租户和用户:
在安装包的最后一步,可以自动创建一个 admin 租户和一个 admin 用户。之后可以用于 OpenStack 服务以与身份认证服务进行联系。这等效于执行以下命令:
# openstack project create --description "Admin Tenant" admin
# openstack user create --password ADMIN_PASS --email root@localhost admin
# openstack role create admin
# openstack role add --project demo --user demo user
在 Debian 系统中,Keystone 的包可以提供自动注册 Keystone 到服务目录中。这等效于执行以下命令:
# openstack service create --name keystone --description "OpenStack Identity" identity
# keystone endpoint-create \
--publicurl http://controller:5000/v2.0 \
--internalurl http://controller:5000/v2.0 \
--adminurl http://controller:35357/v2.0 \
--region RegionOne \
identity
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.