Terraform 输出 linux 命令选项?

Terraform Output linux command option?

提问人:cloudops 提问时间:11/8/2021 更新时间:11/8/2021 访问量:400

问:

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

谢谢你们抽出时间。

terraform 远程执行

评论

0赞 Marcin 11/8/2021
remote-exec显示命令的 stdout。那么实际问题是什么呢?你有什么例子吗?
0赞 cloudops 11/8/2021
@Marcin 教师希望看到在操作结束时显示的密码以及其他输出。此命令 sudo cat /var/lib/jenkins/secrets/initialAdminPassword 将显示来自远程计算机的密码,但我如何让它在 Terraform apply 操作结束时显示输出?

答:

1赞 Marcin 11/8/2021 #1

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

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

评论

0赞 cloudops 11/8/2021
明白了。谢谢。我只需通过SSH连接到远程计算机并自己运行命令,然后将其添加到输出中。
1赞 cloudops 11/8/2021
答案是肯定的。对不起,第一次在这里发帖:)
0赞 Marcin 11/8/2021
@Emir 没问题。如果您遇到新问题,请随时提出新问题。