用于多个实例的Terraform Provisioner

时间:2018-10-22 16:57:36

标签: terraform terraform-provider-aws

我试图完成将2个实例添加到名为aws_worker_nodes_IP的文件中的过程。这是下面的代码...再次...我不仅需要列出一个工作人员IP,而且如果我的变量要更改,我也需要全部或全部。

有人告诉我使用self.public_IP,但这只列出其中一个。我都需要。

#-----key pair for Workernodes-----

resource "aws_key_pair" "k8s-node_auth" {
  key_name   = "${var.key_name2}"
  public_key = "${file(var.public_key_path2)}"
}

#-----Workernodes-----

resource "aws_instance" "nodes-opt-us1-k8s" {
  instance_type = "${var.k8s-node_instance_type}"
  ami           = "${var.k8s-node_ami}"
  count         = "${var.NodeCount}"

  tags {
    Name = "nodes-opt-us1-k8s"
  }

  key_name               = "${aws_key_pair.k8s-node_auth.id}"
  vpc_security_group_ids = ["${aws_security_group.opt-us1-k8s_sg.id}"]
  subnet_id              = "${aws_subnet.opt-us1-k8s.id}"

#-----Link Terraform worker nodes to Ansible playbooks-----

  provisioner "local-exec" {
    command = <<EOD
cat <<EOF > aws_worker_nodes_IP
[workers]
${self.public_ip}     <------need both here not just one
EOF
EOD
  }
}

#----this has two nodes-----     "count = "${var.NodeCount}"

很抱歉,如果我在第一个问题中没有正确解释,我将感谢您的帮助。我只在terraform上工作了几个月。另外,我是一名网络工程师,正在学习编写代码。

0 个答案:

没有答案