在创建另一个后端池和负载平衡器规则之前

用户名

我有terraform脚本,该脚本在资源组的Loadbalancer中创建后端地址池和Loadbalancer规则。这些任务包含在Azure管道中。这是我第一次运行管道,它创建正确。如果我第二次运行管道。它不会更新现有地址池。它会保留由先前版本创建的后端地址池和负载平衡器规则,并为此版本添加额外的后端地址池和负载平衡器规则,这会导致后端地址池和负载平衡器规则重复。任何对此的建议

resource "azurerm_lb_backend_address_pool" "example" {
  resource_group_name = azurerm_resource_group.example.name
  loadbalancer_id     = azurerm_lb.example.id
  name                = "BackEndAddressPool"
}

resource "azurerm_lb_rule" "example" {
  resource_group_name            = azurerm_resource_group.example.name
  loadbalancer_id                = azurerm_lb.example.id
  name                           = "LBRule"
  protocol                       = "All"
  frontend_port                  = 0
  backend_port                   = 0
  frontend_ip_configuration_name = "PublicIPAddress"
  enable_floating_ip             = true
  backend_address_pool_id        = azurerm_lb_backend_address_pool.example
}

这是怎么回事

阿兰·奥迪(Alain O'Dea)

发生这种情况的可能是因为在两次管道运行之间Terraform状态文件丢失了。

默认情况下,Terraform将状态本地存储在名为terraform.tfstate的文件中。在团队中使用Terraform时,使用本地文件会使Terraform的使用变得复杂,因为每个用户在运行Terraform之前必须确保自己始终拥有最新的状态数据,并确保没有其他人同时运行Terraform。对于远程状态,Terraform将状态数据写入远程数据存储,然后可以在团队的所有成员之间共享。Terraform支持在Terraform Cloud,HashiCorp Consul,Amazon S3,阿里云OSS等中存储状态。

远程状态是后端的功能。配置和使用远程后端很容易,您可以快速开始使用远程状态。如果您随后想要迁移回使用本地状态,则后端也将使此操作变得容易。

您将需要配置远程状态存储以保留状态。这是使用Azure Blob存储的示例:

terraform {
  backend "azurerm" {
    resource_group_name  = "StorageAccount-ResourceGroup"
    storage_account_name = "abcd1234"
    container_name       = "tfstate"
    key                  = "prod.terraform.tfstate"
  }
}

将状态存储为具有给定密钥的Blob,并将其存储在Blob存储帐户中的Blob容器中。该后端还通过Azure Blob存储的本机功能支持状态锁定和一致性检查。

azurerm Terraform后端文档中对此进行了更完整的描述

Microsoft还提供了一个教程:在Azure存储中存储Terraform状态,该过程将逐步进行设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

配置Azure负载平衡器和NAT规则

来自分类Dev

配置Azure负载平衡器和NAT规则

来自分类Dev

指向Azure负载平衡器公共IP的Azure前门后端池未解析

来自分类Dev

Kubernetes是为每个LoadBalancer服务创建一个外部负载平衡器,还是只是重用同一服务?

来自分类Dev

WebSockets和HTTPS负载平衡器

来自分类Dev

负载平衡器和API网关混淆

来自分类Dev

TCP负载平衡器和HTTP负载平衡器之间的区别以及何时使用什么?

来自分类Dev

GCP Cloud部署负载平衡器后端存储桶

来自分类Dev

如何从Azure负载平衡器中删除入站规则

来自分类Dev

如何从Azure负载平衡器中删除入站规则

来自分类Dev

Azure外部负载平衡器-使用PowerShell添加LB规则

来自分类Dev

如何在AWS上为Kubernetes创建应用程序负载平衡器

来自分类Dev

如何从SL-API创建softlayer citrix负载平衡器

来自分类Dev

aks-engine 无法创建内部负载平衡器

来自分类Dev

负载平衡器未将请求转发到第二个Tomcat实例

来自分类Dev

Apache Http客户端和负载平衡器

来自分类Dev

OpenShift-Nginx Pod作为SSL终止和负载平衡器

来自分类Dev

AWS负载平衡器和IIS虚拟目录

来自分类Dev

如何使用pulumi设置AWS Fargate的容器端口和负载平衡器?

来自分类Dev

Google Cloud TCP外部负载平衡器和TLS未自签名

来自分类Dev

网络负载平衡器侦听器和VPC连接关系

来自分类Dev

ASP.NET MVC,Windows身份验证和负载平衡器探针

来自分类Dev

Google Compute Engine负载平衡器限制

来自分类Dev

Nginx负载平衡器/位置难题

来自分类Dev

AWS负载平衡器背后的Wordpress多站点

来自分类Dev

将Nginx配置为TCP负载平衡器

来自分类Dev

AWS-负载平衡器上的SSL / HTTPS

来自分类Dev

GKE负载平衡器连接被拒绝

来自分类Dev

Terraform Azure AKS内部负载平衡器

Related 相关文章

  1. 1

    配置Azure负载平衡器和NAT规则

  2. 2

    配置Azure负载平衡器和NAT规则

  3. 3

    指向Azure负载平衡器公共IP的Azure前门后端池未解析

  4. 4

    Kubernetes是为每个LoadBalancer服务创建一个外部负载平衡器,还是只是重用同一服务?

  5. 5

    WebSockets和HTTPS负载平衡器

  6. 6

    负载平衡器和API网关混淆

  7. 7

    TCP负载平衡器和HTTP负载平衡器之间的区别以及何时使用什么?

  8. 8

    GCP Cloud部署负载平衡器后端存储桶

  9. 9

    如何从Azure负载平衡器中删除入站规则

  10. 10

    如何从Azure负载平衡器中删除入站规则

  11. 11

    Azure外部负载平衡器-使用PowerShell添加LB规则

  12. 12

    如何在AWS上为Kubernetes创建应用程序负载平衡器

  13. 13

    如何从SL-API创建softlayer citrix负载平衡器

  14. 14

    aks-engine 无法创建内部负载平衡器

  15. 15

    负载平衡器未将请求转发到第二个Tomcat实例

  16. 16

    Apache Http客户端和负载平衡器

  17. 17

    OpenShift-Nginx Pod作为SSL终止和负载平衡器

  18. 18

    AWS负载平衡器和IIS虚拟目录

  19. 19

    如何使用pulumi设置AWS Fargate的容器端口和负载平衡器?

  20. 20

    Google Cloud TCP外部负载平衡器和TLS未自签名

  21. 21

    网络负载平衡器侦听器和VPC连接关系

  22. 22

    ASP.NET MVC,Windows身份验证和负载平衡器探针

  23. 23

    Google Compute Engine负载平衡器限制

  24. 24

    Nginx负载平衡器/位置难题

  25. 25

    AWS负载平衡器背后的Wordpress多站点

  26. 26

    将Nginx配置为TCP负载平衡器

  27. 27

    AWS-负载平衡器上的SSL / HTTPS

  28. 28

    GKE负载平衡器连接被拒绝

  29. 29

    Terraform Azure AKS内部负载平衡器

热门标签

归档