本节描述如何在控制器节点上安装和配置 OpenStack 身份服务(代号为 keystone)。出于可伸缩性的目的,该配置部署了 Fernet 令牌和 Apache HTTP 服务器来处理请求。
先决条件
在安装和配置身份服务之前,必须创建一个数据库。
1、使用数据库客户端作为 root 用户连接到数据库服务器:
# mysql
2、创建 keystone
数据库:
MariaDB [(none)]> CREATE DATABASE keystone;
3、授予对 keystone 数据库的适当访问权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
用适当的密码替换 KEYSTONE_DBPASS
。
4、退出数据库客户端。
安装和配置组件
默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。同时,配置片段中的省略号 (
…
) 表示您应该保留的潜在的默认配置选项。
该指南使用 Apache HTTP 服务器与 mod_wsgi 来服务端口 5000 和 35357 的身份服务请求。默认情况下,keystone 服务仍在监听这些端口。该包处理您所有的 Apache 配置(包括在 Apache 中激活 mod_wsgi apache2 模块和 keystone 配置)。
1、运行以下命令安装包:
apt install keystone
2、编辑 /etc/keystone/keystone.conf
文件并完成以下操作:
在 [database]
部分,配置数据库访问:
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
用您为数据库选择的密码替换 KEYSTONE_DBPASS
。
注释掉或删除
[database]
部分中的任何其他connection
选项。
在 [token]
部分中,配置 Fernet 令牌提供者:
[token]
# ...
provider = fernet
3、填写身份服务数据库:
su -s /bin/sh -c "keystone-manage db_sync" keystone
4、初始化 Fernet 密钥存储库:
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
5、引导认证服务:
keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
将 ADMIN_PASS
替换为管理用户的适当密码。
配置 Apache HTTP 服务器
1、编辑 /etc/apache2/apache2.conf
文件并配置 ServerName
选项以引用控制器节点:
ServerName controller
完成安装
1、重新启动 Apache 服务并删除默认的 SQLite 数据库:
service apache2 restart
rm -f /var/lib/keystone/keystone.db
2、配置管理账户
$ export OS_USERNAME=admin
$ export OS_PASSWORD=ADMIN_PASS
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=http://controller:35357/v3
$ export OS_IDENTITY_API_VERSION=3
在 keystone - install - configure
中使用 keystone - manage bootstrap
命令中的密码替换 ADMIN_PASS
。
网友评论