【发布时间】:2021-07-11 10:07:58
【问题描述】:
您好,下面是我的要求。 使用 terraform 脚本我创建了一个 linux vm 并使用 ansible 剧本发布我安装了一些软件。所以我把这个脚本分开了,它工作正常。
我想要做的是,一旦 terraform 脚本创建了 vm,我想从 terraform 脚本调用 ansible 脚本并从 ansible 脚本安装软件。
我尝试了下面的代码,但没有成功
provisioner "remote-exec" {
inline = ["sudo dnf -y install python"]
connection {
type = "ssh"
user = "fedora"
private_key = "${file(var.ssh_key_private)}"
}
}
provisioner "local-exec" {
command = "ansible-playbook -u fedora -i '${self.public_ip},' --private-key ${var.ssh_key_private} provision.yml"
}
所以在这里我不确定 ansible 是如何安装在 vm 中的,目前我是手动安装的,以及如何从 terraform 调用 thisansible 脚本
错误:未知的根级别密钥:provisioner
【问题讨论】:
-
“它不起作用” - 不具体。为什么它不起作用?有什么错误吗?
-
@Marcin 抱歉忘记提及错误:错误:未知的根级别密钥:供应商
-
我注意到您有很多带有答案的问题,但没有一个答案被接受。接受好的答案不仅是一种好的做法,而且可以帮助他人并消除重复。如果人们知道您不可能接受好的答案,他们也可能会跳过您的问题。
-
@Marcin 我想当它对我有用时我将其标记为接受
标签: ansible terraform terraform-provider-azure