如何为Terraform配置OpenStack身份验证

84次阅读
没有评论

问题描述

想要使用一些公司的Terraform文件,这些文件都依赖于OpenStack的身份验证,而OpenStack是它们从中进行资源预配的资源。用户想知道如何配置这个身份验证。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

要为Terraform配置OpenStack身份验证,需要根据你的provider stanza进行配置。以下是一个示例配置:

provider "openstack" {
  # 配置项
}

如果你的配置中有auth_url,那么很可能还有application_credential_nameapplication_credential_secret。这些配置项用于指定应用凭据的名称和密钥。

如果你的配置中有cloud,那么它将寻找你的OpenStack clouds.yaml文件。请注意,这与cloud.cfg是不同的。clouds.yaml文件的位置和用法如下:
– 该文件的位置通常是$HOME/.config/openstack,但也可以在本地目录或全局安装在/etc/openstack中。
– 你可以从OpenStack的Web界面Horizons导出该文件。
– 该文件适用于用户级别,但也可以在本地目录或全局安装。

如果你的配置既没有auth_url也没有cloud,那么Terraform将尝试使用环境变量进行身份验证。有关环境变量的详细信息,请参考官方文档

方案2

使用脚本或工具来管理身份验证可能会增加复杂性,并且需要确保配置正确。
另一种方法是编写脚本或使用工具来管理OpenStack身份验证。你可以使用环境变量或其他方式来设置身份验证所需的参数,并在Terraform配置文件中引用这些参数。

请注意,这种方法可能会增加配置的复杂性,并且需要确保配置的正确性。

以上是为Terraform配置OpenStack身份验证的两种常见方法。根据你的具体需求和环境,选择适合你的方法进行配置。

正文完