【问题标题】:how to associate floating ip address to a instance in openstack using terraform如何使用terraform将浮动IP地址关联到openstack中的实例
【发布时间】:2020-03-30 09:16:23
【问题描述】:

我正在使用 terraform 在 openstack 中创建几个实例,我想自动为它们分配浮动 IP 地址,而无需任何人工干预。

我的 .tf 文件如下:

resource "openstack_networking_floatingip_v2" "floating-ip" {
 count  = 4
 pool = "floating-ip-pool" 
}

resource "openstack_compute_floatingip_associate_v2" "fip-associate" {
floating_ip = openstack_networking_floatingip_v2.floating-ip.address[count.0]
instance_id = openstack_compute_instance_v2.terraform-vm.id[count.0]
}`

我收到一个错误

“错误:缺少资源实例键

在 image-provisioning.tf 第 33 行,资源“openstack_compute_floatingip_associate_v2”“fip-associate”中: 33:instance_id = openstack_compute_instance_v2.terraform-vm.id[count.0]"

我的 terraform 版本是:Terraform v0.12.24 + provider.openstack 1.26.0

【问题讨论】:

    标签: terraform-provider-openstack


    【解决方案1】:

    能够在 terraform 中使用 for_each 选项进行解析:

    resource "openstack_compute_instance_v2" "terraform_vm" {
    
      image_id        = "f8b9189d-2518-4a32-b1ba-2046ea8d47fd"
      for_each        =  var.instance_name
      name            =  each.key
      flavor_id       = "3"
      key_pair        = "openstack vm key"
      security_groups = ["default"]
    
     network {
      name = "webapps-network"
     }
     }
    
    resource "openstack_networking_floatingip_v2" "floating_ip" {
    pool = "floating-ip-pool"
    for_each        =  var.instance_name
    

    }

    resource "openstack_compute_floatingip_associate_v2" "fip_associate" {
    for_each        =  var.instance_name
    floating_ip = openstack_networking_floatingip_v2.floating_ip[each.key].address
    instance_id = openstack_compute_instance_v2.terraform_vm[each.key].id
    }
    

    【讨论】:

      猜你喜欢
      • 2019-08-25
      • 1970-01-01
      • 2016-04-25
      • 2016-04-17
      • 1970-01-01
      • 2018-08-05
      • 2021-04-19
      • 1970-01-01
      • 2020-10-26
      相关资源
      最近更新 更多