Terraform 1.3.7部署OpenShift时azurerm_lb_backend_address_pool参数报错
问题分析与解决
报错原因
适配Terraform 1.3.7的AzureRM Provider版本通常为3.x及以上,在这个版本的Provider中,azurerm_lb_backend_address_pool资源不再支持显式指定resource_group_name参数。旧版本Provider可能需要该参数,但新版本中,Terraform可以通过你配置的loadbalancer_id(即azurerm_lb.internal.id)自动识别负载均衡器所属的资源组,因此再手动指定resource_group_name属于冗余且不被支持的操作,直接触发报错。
修正后的代码
直接移除resource_group_name = var.resource_group_name这一行即可:
resource "azurerm_lb_backend_address_pool" "internal_lb_controlplane_pool_v4" { count = var.use_ipv4 ? 1 : 0 loadbalancer_id = azurerm_lb.internal.id name = var.cluster_id }
补充说明
你参考的GitHub项目可能基于较旧版本的AzureRM Provider编写,而本地环境使用了新版本Provider,因此出现参数不兼容的情况。新版本AzureRM Provider对多数资源的参数做了简化,通过关联资源ID自动获取依赖元数据,减少冗余配置。
内容的提问来源于stack exchange,提问作者onknows
相关产品推荐
相关产品推荐

