gpt4 book ai didi

ansible - 当前从Terraform创建Ansible库存的最佳方法

转载 作者:行者123 更新时间:2023-12-03 12:32:19 26 4
gpt4 key购买 nike

我有一长串机器,所有机器在系统功能上都有些不同。我想整理这些机器并自动添加到主机 list 文件中,以便我可以运行ansible和管理 list 。是否有好的解决方案?

我认为ansible主机应该看起来像...

[webservers]
someip
someip
[integration]
someip
someip

等等..

提出问题后,我目前正在研究输出变量,并使用它们来从文件中渲染模板。

最佳答案

我想到了。

data "template_file" "dev_hosts" {
template = "${file("${path.module}/templates/dev_hosts.cfg")}"
depends_on = [
"aws_instance.dev-api-gateway",
"aws_instance.dev-api-gateway-internal",
....
]
vars {
api_public = "${aws_instance.dev-api-gateway.private_ip}"
api_internal = "${aws_instance.dev-api-gateway-internal.private_ip}"
}
}

resource "null_resource" "dev-hosts" {
triggers {
template_rendered = "${data.template_file.dev_hosts.rendered}"
}
provisioner "local-exec" {
command = "echo '${data.template_file.dev_hosts.rendered}' > dev_hosts"
}
}

然后在先前引用的文件中创建一个模板

示例dev_hosts.cfg的内容
[public]
${api_public}


[private]
${api_internal}

关于ansible - 当前从Terraform创建Ansible库存的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45489534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com