这一章描述如何在控制节点上安装和配置OpenStack身份认证服务,代码名称keystone。出于性能原因,这个配置部署Fernet令牌和Apache HTTP服务处理请求。
运行以下命令来安装包。
# apt-get install keystone
作为debconf提示的输入值,这会填写以下数据库访问指令。
[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`` 和 ``service``项目,以及``admin``用户。后面,其它OpenStack服务与认证服务交互时将使用这些信息。这等同于运行以下命令:
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
project create --or-show \
admin --domain default \
--description "Default Debian admin project"
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
project create --or-show \
service --domain default \
--description "Default Debian admin project"
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
user create --or-show \
--password ADMIN_PASS \
--project admin \
--email root@localhost \
--enable \
admin \
--domain default \
--description "Default Debian admin user"
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
role create --or-show admin
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
role add --project admin --user admin admin
在 Debian 系统中,Keystone 的包可以提供自动注册 Keystone 到服务目录中。这等效于执行以下命令:
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
service create \
--name keystone \
--description "OpenStack Identity" \
identity
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
keystone public http://controller:5000/v2.0
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
keystone internal http://controller:5000/v2.0
# openstack --os-token ${AUTH_TOKEN} \
--os-url=http://127.0.0.1:35357/v3/ \
--os-domain-name default \
--os-identity-api-version=3 \
keystone admin http://controller:35357/v2.0
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.