当前正在尝试使新的Hetzner负载平衡器使用Terraform v0.12.28与多个服务器一起使用。提供的文档仅显示一个服务器的情况,这对于负载均衡器来说很奇怪:)
使用如下计数创建服务器:
resource "hcloud_server" "web" {
count = var.instances
name = "web-server-${count.index}"
...
}
要将服务器添加到负载均衡器,应使用以下模式:
target {
type = "server"
server_id = hcloud_server.web.id
}
但是,任何形式的for或for_each似乎都不适用于此处添加所有创建的实例。
您能告诉我如何将创建计数的服务器添加到负载均衡器的方向吗?
谢谢!
我认为可以在您的情况下使用动态块。
您可能会执行以下操作(动态块是target
;来自docs的示例,因此可能需要调整您的真实代码):
resource "hcloud_load_balancer" "load_balancer" {
name = "my-load-balancer"
load_balancer_type = "lb11"
location = "nbg1"
dynamic "target" {
for_each = hcloud_server.web
content {
type = "server"
server_id = target.value["id"]
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句