Identity service – keystone安装(wallaby版本-allinone)

Keystone 安装 for Red Hat Enterprise Linux and CentOS

1.必须

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

$ mysql -u root -p

在这里插入图片描述

1.2. 创建keystone数据库:

MariaDB [(none)]> CREATE DATABASE keystone;

1.3. 授予对keystone数据库的适当访问权限:

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';

替换KEYSTONE_DBPASS为你希望设定的密码 此处为123456
在这里插入图片描述

1.4. 退出数据库访问客户端。

quit;

在这里插入图片描述

2. 安装和配置组件

默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,...配置片段中的省略号 ( ) 表示您应该保留的潜在默认配置选项。

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

yum install openstack-keystone httpd python3-mod_wsgi -y

对于 RHEL8/Centos8 及以上版本,安装包 python3-mod_wsgi。

2.2. 编辑/etc/keystone/keystone.conf文件并完成以下操作:

  • 在该[database]部分中,配置数据库访问:

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

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

在这里插入图片描述


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

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


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

    [token]
    # ...
    provider = fernet
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dmTp18XT-1642432964962)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129211705229.png)]

2.3. 填充身份服务数据库:

su -s /bin/sh -c "keystone-manage db_sync" keystone

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PstiXQKY-1642432964962)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129212034131.png)]

2.4. 初始化 Fernet 密钥库:


--keystone-user--keystone-group标志用于指定将用于运行梯形操作系统的用户/组。提供这些是为了允许在另一个操作系统用户/组下运行 keystone。在下面的示例中,我们调用 user & group keystone


keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QjRp8qXS-1642432964963)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129212133548.png)]

2.5. 引导身份服务:


在 Queens 发布之前,keystone 需要在两个单独的端口上运行以适应 Identity v2 API,后者通常在端口 35357 上运行单独的仅管理员服务。随着 v2 API 的删除,keystone 可以在同一端口上运行所有接口。


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为适合管理用户的密码。这里为123456

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jRYtQAiz-1642432964963)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129212355342.png)]

3. 配置 Apache HTTP 服务器

3.1. 编辑/etc/httpd/conf/httpd.conf文件并配置 ServerName选项以引用控制器节点:

ServerName controller

如果该ServerName条目尚不存在,则需要添加该条目。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NbMIglDa-1642432964964)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129212544737.png)]

3.2. 创建/usr/share/keystone/wsgi-keystone.conf文件链接:

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

3.3. SSL

安全部署应将 Web 服务器配置为使用 SSL 或在 SSL 终结器后面运行。

A secure deployment should have the web server configured to use SSL or running behind an SSL terminator.

4. 完成安装

4.1. 启动 Apache HTTP 服务并配置它在系统启动时启动:

systemctl enable httpd.service
systemctl start httpd.service
systemctl status httpd.service

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-84pqS6cD-1642432964964)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202133647444.png)]

4.2. 通过设置适当的环境变量来配置管理帐户:

export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
openstack endpoint list

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pmdmvY3C-1642432964965)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202133755163.png)]

openstack token issue

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-unvopIEc-1642432964965)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202133834138.png)]

5.创建域、项目、用户和角色

Identity 服务为每个 OpenStack 服务提供身份验证服务。身份验证服务使用域、项目、用户和角色的组合。

5.1 尽管本指南中的keystone-manage 引导步骤中已经存在“默认”域,但创建新域的正式方法是:

$ openstack domain create --description "An Example Domain" example

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | An Example Domain                |
| enabled     | True                             |
| id          | ef9b177067134dbc96042c1970d8fede |
| name        | example                          |
| options     | {}                               |
| tags        | []                               |
+-------------+----------------------------------+

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vU4A8WM9-1642432964967)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129213140962.png)]

5.2 本指南使用一个服务项目,该项目包含您添加到环境中的每个服务的唯一用户。创建service 项目:

$ openstack project create --domain default --description "Service Project" service


+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Service Project                  |
| domain_id   | default                          |
| enabled     | True                             |
| id          | c4c68dfd767e4103a899f06ca5372af7 |
| is_domain   | False                            |
| name        | service                          |
| options     | {}                               |
| parent_id   | default                          |
| tags        | []                               |
+-------------+----------------------------------+

在这里插入图片描述

5.3 常规(非管理员)任务应使用非特权项目和用户。例如,本指南创建myproject项目和myuser 用户。

  • 创建myproject项目:

    $ openstack project create --domain default --description "Demo Project" myproject
    
    
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | Demo Project                     |
    | domain_id   | default                          |
    | enabled     | True                             |
    | id          | f186d8d17be5427fa4e0fa4be72ba046 |
    | is_domain   | False                            |
    | name        | myproject                        |
    | options     | {}                               |
    | parent_id   | default                          |
    | tags        | []                               |
    +-------------+----------------------------------+
    
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmHbeSRW-1642432964968)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129213208247.png)]

    为该项目创建其他用户时不要重复此步骤。

  • 创建myuser用户:

    $ openstack user create --domain default --password-prompt myuser
    
    User Password:123456
    Repeat User Password:123456
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | aeda23aa78f44e859900e22c24817832 |
    | name                | myuser                           |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    
    

我的密码是123456

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hk3pGkYq-1642432964970)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129213334899.png)]

  • 创建myrole角色:

    $ openstack role create myrole
    
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | None                             |
    | domain_id   | None                             |
    | id          | 8318675376b4469aa3fd01dac66a67d3 |
    | name        | myrole                           |
    | options     | {}                               |
    +-------------+----------------------------------+
    
    

在这里插入图片描述

  • myrole角色添加到myproject项目和myuser用户:

    $ openstack role add --project myproject --user myuser myrole
    

6. 验证操作

在安装其他服务之前验证身份服务的操作。

在控制器节点上执行这些命令。

6.1 取消设置临时OS_AUTH_URLOS_PASSWORD 环境变量:

$ unset OS_AUTH_URL OS_PASSWORD

6.2 作为admin用户,请求身份验证令牌:

$ openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue

Password:123456
+------------+-----------------------------------------------------------------+
| Field      | Value                                                           |
+------------+-----------------------------------------------------------------+
| expires    | 2016-02-12T20:14:07.056119Z                                     |
| id         | gAAAAABWvi7_B8kKQD9wdXac8MoZiQldmjEO643d-e_j-XXq9AmIegIbA7UHGPv |
|            | atnN21qtOMjCFWX7BReJEQnVOAj3nclRQgAYRsfSU_MrsuWb4EDtnjU7HEpoBb4 |
|            | o6ozsA_NmFWEpLeKy0uNn_WeKbAhYygrsmQGA49dclHVnz-OMVLiyM9ws       |
| project_id | 343d245e850143a096806dfaefa9afdc                                |
| user_id    | ac3377633149401296f6c0d92d79dc16                                |
+------------+-----------------------------------------------------------------+

此命令使用admin用户的密码。 我的是123456

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZSemsP54-1642432964970)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129213544457.png)]

6.3 作为myuser在上一节中创建的用户,请求身份验证令牌:

$ openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name myproject --os-username myuser token issue

Password:123456
+------------+-----------------------------------------------------------------+
| Field      | Value                                                           |
+------------+-----------------------------------------------------------------+
| expires    | 2016-02-12T20:15:39.014479Z                                     |
| id         | gAAAAABWvi9bsh7vkiby5BpCCnc-JkbGhm9wH3fabS_cY7uabOubesi-Me6IGWW |
|            | yQqNegDDZ5jw7grI26vvgy1J5nCVwZ_zFRqPiz_qhbq29mgbQLglbkq6FQvzBRQ |
|            | JcOzq3uwhzNxszJWmzGC7rJE_H0A_a3UFhqv8M4zMRYSbS2YF0MyFmp_U       |
| project_id | ed0b60bf607743088218b0a533d5943f                                |
| user_id    | 58126687cbcc4888bfa9ab73a2256f27                                |
+------------+-----------------------------------------------------------------+

这个密码是123456

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fRIFPMgk-1642432964971)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129213950798.png)]

7 创建 OpenStack 客户端环境脚本

前面的部分使用环境变量和命令选项的组合通过openstack客户端与身份服务进行交互 。为了提高客户端操作的效率,OpenStack 支持简单的客户端环境脚本,也称为 OpenRC 文件。这些脚本通常包含所有客户端的通用选项,但也支持独特的选项。有关更多信息,请参阅 OpenStack 最终用户指南

创建脚本

创建客户端环境的脚本admindemo 项目和用户。本指南的后续部分将参考这些脚本来加载客户端操作的适当凭据

客户端环境脚本的路径不受限制。为方便起见,您可以将脚本放在任何位置,但请确保它们可访问并位于适合您的部署的安全位置,因为它们确实包含敏感凭据。

  1. 创建并编辑admin-openrc文件并添加以下内容:

    vim admin-openrc.sh
    

    OpenStack 客户端也支持使用clouds.yaml文件。有关更多信息,请参阅os-client-config

    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
    

    替换ADMIN_PASS为您admin在身份服务中为用户选择的密码。这里为123456

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K67FzfJe-1642432964971)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129214246585.png)]

  2. 创建并编辑demo-openrc文件并添加以下内容:

    vim demo-openrc.sh
    
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_NAME=myproject
    export OS_USERNAME=myuser
    export OS_PASSWORD=DEMO_PASS
    export OS_AUTH_URL=http://controller:5000/v3
    export OS_IDENTITY_API_VERSION=3
    export OS_IMAGE_API_VERSION=2
    

    替换DEMO_PASS为您demo在身份服务中为用户选择的密码。这里为123456

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KMDmGTld-1642432964972)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129214343769.png)]

使用脚本

要将客户端作为特定项目和用户运行,您只需在运行它们之前加载关联的客户端环境脚本。例如:

  1. 加载admin-openrc文件以使用身份服务的位置以及admin项目和用户凭据填充环境变量:

    $ . admin-openrc.sh
    
  2. 请求身份验证令牌:

    $ 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                                |
    +------------+-----------------------------------------------------------------+
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BOf60jpc-1642432964972)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211129214436260.png)]

keystone安装完毕
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值