在安装和配置Identity服务之前,必须创建数据库。
-
使用数据库访问客户端以
root用户身份连接到数据库服务器:$ mysql -u root -p -
创建
keystone数据库:MariaDB [(none)]> CREATE DATABASE keystone; -
授予对
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为合适的密码。 -
退出数据库访问客户端。
-
运行以下命令以安装软件包:
# yum install openstack-keystone httpd mod_wsgi
- 编辑
/etc/keystone/keystone.conf文件并完成以下操作:
-
在该
[database]部分中,配置数据库访问:[database] # ... connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone替换
KEYSTONE_DBPASS为您为数据库选择的密码。注意
注释掉或删除
connection该[database]部分中的任何其他选项 。注意
controller在此示例中,主机必须是可解析的。 -
在该
[token]部分中,配置Fernet令牌提供程序:[token] # ... provider = fernet
- 填充Identity服务数据库:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
- 初始化Fernet密钥存储库:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
- Bootstrap身份服务:
# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:5000/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
替换ADMIN_PASS为管理用户的合适密码。
注意
在Queens发布之前,keystone需要在两个独立的端口上运行,以适应Identity v2 API,该API通常在端口35357上运行单独的仅管理服务。通过删除v2 API,keystone可以在同一端口上运行所有接口。
- 配置HTTP服务:
1).编辑/etc/httpd/conf/httpd.conf文件并配置ServerName引用控制器节点的 选项:
ServerName controller
2)创建/usr/share/keystone/wsgi-keystone.conf文件的链接:
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
- 启动服务并设置开机自启动
1) .启动Apache HTTP服务并将其配置为在系统引导时启动:
# systemctl enable httpd.service
# systemctl start httpd.service
- 创建
service项目:
$ openstack project create --domain default \
--description "Service Project" service
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Service Project |
| domain_id | default |
| enabled | True |
| id | 24ac7f19cd944f4cba1d77469b2a73ed |
| is_domain | False |
| name | service |
| parent_id | default |
| tags | [] |
+-------------+----------------------------------+
13.创建环境变量文件
创建和编辑admin-openrc文件并添加以下内容:
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
14.加载admin-openrc文件以使用Identity服务的位置以及admin项目和用户凭据填充环境变量:
$ . admin-openrc
15.请求身份验证令牌:
$ openstack token issue
+------------+-----------------------------------------------------------------+
| Field | Value |
+------------+-----------------------------------------------------------------+
| expires | 2016-02-12T20:44:35.659723Z |
| id | gAAAAABWvjYj-Zjfg8WXFaQnUd1DMYTBVrKw4h3fIagi5NoEmh21U72SrRv2trl |
| | JWFYhLi2_uPR31Igf6A8mH2Rw9kv_bxNo1jbLNPLGzW_u5FC7InFqx0yYtTwa1e |
| | eq2b0f6-18KZyQhs7F3teAta143kJEWuNEYET-y7u29y0be1_64KYkM7E |
| project_id | 343d245e850143a096806dfaefa9afdc |
| user_id | ac3377633149401296f6c0d92d79dc16 |
+------------+-----------------------------------------------------------------+