小编Nia*_*ain的帖子

如何在销毁多个实例时运行 remote-exec 配置程序

我正在使用 terraform 在 OpenStack 上设置一个 docker swarm 集群,并使用 Ansible 在新创建的虚拟机上进行配置。我想首先docker swarm leave在虚拟机上执行,当我减少实例(虚拟机)数量并通过terraform apply. 当我一个一个地销毁实例时它会起作用,但是当同时销毁 2 个实例时它会出错。

错误:循环:module.swarm_cluster.openstack_compute_instance_v2.swarm-cluster-hosts[3](销毁),module.swarm_cluster.openstack_compute_instance_v2.swarm-cluster-hosts[2](销毁)

这是脚本:

resource "openstack_compute_instance_v2" "my_cluster"{
    provisioner "remote-exec" {
        when = destroy
        inline = [ "sudo docker swarm leave" ]
    }

    connection {
        type = "ssh"
        user = var.ansible_user
        timeout = "3m"
        private_key = var.private_ssh_key
        host = self.access_ip_v4
    }
}
Run Code Online (Sandbox Code Playgroud)

地形:0.12

provisioning openstack terraform

7
推荐指数
0
解决办法
468
查看次数

标签 统计

openstack ×1

provisioning ×1

terraform ×1