Skip to content

Latest commit

 

History

History
170 lines (122 loc) · 4.77 KB

File metadata and controls

170 lines (122 loc) · 4.77 KB

在安装和配置Identity服务之前,必须创建数据库。

  1. 使用数据库访问客户端以root用户身份连接到数据库服务器:

    $ mysql -u root -p
    
  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. 退出数据库访问客户端。

  5. 运行以下命令以安装软件包:

# yum install openstack-keystone httpd mod_wsgi
  1. 编辑/etc/keystone/keystone.conf文件并完成以下操作:
  • 在该[database]部分中,配置数据库访问:

    [database]
    # ...
    connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
    

    替换KEYSTONE_DBPASS为您为数据库选择的密码。

    注意

    注释掉或删除connection[database]部分中的任何其他选项 。

    注意

    controller在此示例中,主机必须是可解析的。

  • 在该[token]部分中,配置Fernet令牌提供程序:

    [token]
    # ...
    provider = fernet
    
  1. 填充Identity服务数据库:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
  1. 初始化Fernet密钥存储库:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
  1. 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可以在同一端口上运行所有接口。

  1. 配置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. 启动服务并设置开机自启动

1) .启动Apache HTTP服务并将其配置为在系统引导时启动:

# systemctl enable httpd.service
# systemctl start httpd.service
  1. 创建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                                |
+------------+-----------------------------------------------------------------+