我已经使用 Terraform 一段时间了,并且对它与 VMware 和 Azure 提供商的使用感到满意。
目前,我需要在 Azure 中使用静态 IP 地址配置 VM。试图说服他们摆脱静电,但有人对我使用了安全锤,我无法偏转。
虽然我可以在子网中分配一些并将它们提供给 Terraform(我使用 ansible 来驱动 Terraform),但我想知道是否有其他人在 Azure 中解决了这个问题并且可能有好的想法。
在我看来,主要问题是并发性。我需要一种方法来自动“分配”子网中的 IP,并确保即使需要一段时间才能构建虚拟机并开始使用该地址,同时运行的其他配置请求也不会获得相同的地址。
在私人数据中心中,我会使用 IPAM 解决方案。在 Azure 中我没有可用的。寻找严格使用 Azure+Terraform+Ansible 实施的想法
实现此目的的一种方法是使用 Terraform 中的 cidrhost 插值。
您可以使用它每次创建相同的私有 IP 地址。一个例子如下:
resource "azurerm_network_interface" "network_interface" {
name = "dev-network-interface"
location = "WestEurope"
resource_group_name = "dev-rg"
ip_configuration {
name = "dev-nic-ipconfig"
subnet_id = "${subnet_id}"
private_ip_address_allocation = "static"
private_ip_address = "${cidrhost(10.100.0.56/27, 4)}"
public_ip_address_id = "${publicip_id}"
}
上面的例子应该给你一个私有IP 10.100.0.60
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)