创建 OpenStack 客户端环境脚本

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

创建脚本

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

注意

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

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

    注意

    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 用户选择的密码。

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

    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 用户选择的密码。

使用脚本

要以特定项目和用户身份运行客户端,您可以简单地在运行它们之前加载相关的客户端环境脚本。例如

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

    $ . admin-openrc
    
  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                                |
    +------------+-----------------------------------------------------------------+