Terraform 输出 linux 命令选项?

Posted

技术标签:

【中文标题】Terraform 输出 linux 命令选项?【英文标题】:Terraform Output linux command option? 【发布时间】:2021-12-20 21:23:19 【问题描述】:

有什么方法可以在远程机器上使用 Terraform 执行命令,并通过输出显示该命令的结果? 我可以使用provisioner(remote-exec) 在远程机器上安装和运行命令,但找不到通过输出显示命令结果的方法。

谢谢你们的时间。

【问题讨论】:

remote-exec 显示命令的标准输出。那么真正的问题是什么?你有什么例子吗? @Marcin 老师希望看到密码在操作结束时与其他输出一起显示。此命令 sudo cat /var/lib/jenkins/secrets/initialAdminPassword 将显示来自远程机器的密码,但我怎样才能让它在 Terraform 应用操作结束时显示它的输出? 【参考方案1】:

您可以使用External Data Source 为所欲为。您必须对外部数据源进行编程以在远程主机上运行命令并返回您想要返回的内容,以便在 TF 代码中进行进一步处理。

另一种可能性是让您的 remote-exec 填充外部参数存储(例如 AWS 中的 SSM 参数存储),然后您的 remote-exec 完成后,您将使用 aws_ssm_parameter 数据源从中获取数据。

【讨论】:

我明白了。谢谢你。我将通过 SSH 连接到远程机器并自己运行命令,然后将其添加到输出中。 @Emir 它不是自动化的方式。但无论如何,如果我的回答有帮助,我们将不胜感激。 当然。对不起,第一次在这里发帖:) @Emir 没问题。如果您遇到新问题,请随时提出新问题。

以上是关于Terraform 输出 linux 命令选项?的主要内容,如果未能解决你的问题,请参考以下文章

Linux 使用 catlessheadtailldd 等命令显示文件内容

Linux常用命令

Linux命令之输出内容到控制台echo

Linux常用命令——stat

Linux命令操作之cat与cut

linux之iconv命令