如何从terraform运行ansible脚本
你好,以下是我的要求。 我使用terraform脚本创建了一个linux虚拟机,并发布了使用ansible play book安装一些软件的帖子。因此,我有这个脚本单独与我和它的工作很好 我想做的是,一旦terraform脚本创建了vm,我想从terraform脚本调用ansible脚本,并从ansible脚本安装软件 我尝试了下面的代码,但没有成功如何从terraform运行ansible脚本,ansible,terraform,terraform-provider-azure,Ansible,Terraform,Terraform Provider Azure,你好,以下是我的要求。 我使用terraform脚本创建了一个linux虚拟机,并发布了使用ansible play book安装一些软件的帖子。因此,我有这个脚本单独与我和它的工作很好 我想做的是,一旦terraform脚本创建了vm,我想从terraform脚本调用ansible脚本,并从ansible脚本安装软件 我尝试了下面的代码,但没有成功 provisioner "remote-exec" { inline = ["sudo dnf -y ins
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调用ansible脚本
错误:未知的根级别键:provisioner只能在资源中使用,例如:
resource "aws_instance" "web" {
# ...
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"
}
}
“它不起作用”-不具体。究竟为什么它不起作用?有错误吗?@Marcin抱歉忘了提到错误:错误:未知根级别键:Provisionieri注意到您有很多问题和答案,但没有一个答案被接受。接受好的答案不仅是一种好的做法,而且有助于他人,消除重复。另外,如果ppl知道你不可能接受好的答案,他们可能会跳过你的问题。@Marcin我想我会在它为我工作时将它标记为接受。我们如何在linux中安装ansibleVM@ashish这取决于哪个linux?您必须决定使用哪种linux,并找到给定发行版的说明。我正在使用RHEL 8,但我不确定如何在linux虚拟机中安装ansible,因为要求在创建linux虚拟机后立即运行ansible脚本。或者,如果我们安装phyton,是否足以使ansible脚本运行?@ashish我认为您应该提出关于RHEL 8和安装的问题ansible,因为这与您在问题中发布的问题完全不同。