Terraform和AWS Spots实例

时间:2018-08-21 13:31:31

标签: amazon-ec2 terraform terraform-provider-aws

https://github.com/hashicorp/terraform/issues/17429中所述 7天后,竞价请求将被取消,实例仍在运行。因此,当我运行“地形应用”时,它会尝试创建一个新位置。 AWS提供程序> = 1.13.0时会发生这种情况。

我正在使用AWS provider 1.32.0,有人知道该问题的解决方法吗?在以后的安装中,我将使用valid_until标志,这将延长请求的生存期,但是已经安装的位置又如何呢?

谢谢

resource "aws_spot_instance_request" "cheap_worker" {
  count = "${var.kube_master_spot_num}"
  ami = "${data.aws_ami.nat_ami.id}"
  availability_zone  ="${element(slice(data.aws_availability_zones.available.names,var.kube_master_on_demand_num,var.availability_zones_num),count.index)}"
  spot_price    = "3"
  instance_type = "${var.kube_master_type}"
  subnet_id = "${element(module.aws-vpc.aws_subnet_ids,count.index + var.kube_master_on_demand_num)}" # adjusting to a case with spots & on-demand servers
  vpc_security_group_ids = [ "${module.aws-vpc.cluster_sg_id}", "${module.aws-vpc.route53_sg_id}" ]
  key_name = "${basename(var.local_ssh_key)}"
  associate_public_ip_address = true
  root_block_device = [{volume_type="gp2",volume_size="50",delete_on_termination=true}]
  spot_type = "one-time"
  wait_for_fulfillment = true

  tags {
    Name = "${var.kube_identify}-${var.kube_type}-master-${count.index}"
  }
  provisioner "local-exec" {
      command = "sleep 120"
  }
  connection {
    type = "ssh"
    user = "ubuntu"
    private_key = "${file(var.local_ssh_key)}"
  }
  provisioner "remote-exec" {
    inline = [
      "sudo apt-get update"
    ]
  }
}

0 个答案:

没有答案