1.4. 使用 OpenStack RC 文件设置环境变量
要为 OpenStack 命令行客户端设置所需的环境变量,您必须创建名为 OpenStack rc 文件或
openrc.sh 文件的环境文件。如果 OpenStack 安装提供它,您可以以管理用户或任何其他用户从 OpenStack 控制面板下载 文件。此项目的环境文件包含所有 OpenStack 服务使用的凭据。
提供该文件时,会为当前 shell 设置环境变量。变量使 OpenStack 客户端命令能够与云中运行的 OpenStack 服务通信。
注意
使用环境文件定义环境变量不是 Microsoft Windows 上的常见做法。环境变量通常在"系统属性"对话框的" 高级 "选项卡中定义。
1.4.1. 下载并提供 OpenStack RC 文件 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 登录 OpenStack 仪表板,选择要下载 OpenStack RC 文件的项目,然后点 。
- 在 API Access 选项卡中,点 并保存文件。文件名将格式为
PROJECT-openrc.sh,其中 PROJECT 是您下载该文件的项目的名称。 - 将
PROJECT-openrc.sh文件复制到您要运行 OpenStack 命令的计算机。例如,将文件复制到您要使用 glance 客户端命令上传镜像的计算机。 - 在您要运行 OpenStack 命令的任何 shell 上,提供对应项目的
PROJECT-openrc.sh文件。在以下示例中,demo-openrc.sh文件为 demo 项目提供:source demo-openrc.sh
$ source demo-openrc.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 当您提示输入 OpenStack 密码时,输入下载
PROJECT-openrc.sh文件的用户的密码。
1.4.2. 创建并提供 OpenStack RC 文件 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
或者,如果出于某种原因,您无法从控制面板下载该文件,则从头开始创建
PROJECT-openrc.sh 文件。
- 在文本编辑器中,创建名为
PROJECT-openrc.sh文件的文件,并添加以下身份验证信息:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例显示了名为admin的项目的信息,其中 OS 用户名也是admin,而身份主机位于控制器。export OS_USERNAME=admin export OS_PASSWORD=ADMIN_PASS export OS_TENANT_NAME=admin export OS_AUTH_URL=http://controller:35357/v2.0
export OS_USERNAME=admin export OS_PASSWORD=ADMIN_PASS export OS_TENANT_NAME=admin export OS_AUTH_URL=http://controller:35357/v2.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在您要运行 OpenStack 命令的任何 shell 上,提供对应项目的
PROJECT-openrc.sh文件。在本例中,您要提供 admin 项目的admin-openrc.sh 文件:source admin-openrc.sh
$ source admin-openrc.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注意
使用此方法不会提示您输入密码。密码在
PROJECT-openrc.sh 文件中以明文格式有效。限制此文件的权限以避免安全问题。您也可以从文件中删除 OS_PASSWORD 变量,而可将 use- password 参数用于 OpenStack 客户端命令。
1.4.3. 覆盖环境变量值 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
运行 OpenStack 客户端命令时,您可以使用各种客户端命令输出中列出的选项来覆盖一些环境变量设置。例如,您可以通过在 keystone 命令中指定密码来覆盖
PROJECT-openrc.sh 文件中的 OS_PASSWORD 设置,如下所示:
keystone --os-password PASSWORD service-list
$ keystone --os-password PASSWORD service-list
其中 PASSWORD 是您的密码。