标签: terraform

Terraform:具有多个端口的 aws_lb_listener

我正在使用 Terraform 在 AWS 上构建 ALB。ALB 应将多个端口转发到实例,但文档指定:

port -(必需)负载均衡器正在侦听的端口。

我是否必须为每个端口添加单独的 ALB 侦听器,或者是否有办法为每个侦听器指定多个端口?

amazon-web-services terraform elastic-load-balancer

0
推荐指数
1
解决办法
3887
查看次数

为 Pod 和服务配置 Terraform GKE 插件 IP 范围

我正在尝试使用GKE 的 Terraform 模块,但我不确定如何配置属性ip_range_podsip_range_services.

具体来说,我不确定他们是如何得出这些值的:

  ip_range_pods              = "us-central1-01-gke-01-pods"
  ip_range_services          = "us-central1-01-gke-01-services"
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-kubernetes-engine terraform

0
推荐指数
1
解决办法
2626
查看次数

使用 terraform 创建 aws rds 实例?

我尝试使用 terraform 在 AWS 上创建 RDS 实例,并收到以下错误

这段代码可以吗?

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
}


resource "aws_subnet" "private-subnet1" {
  vpc_id = "${aws_vpc.main.id}"
  cidr_block = "10.0.1.0/24"
}

resource "aws_subnet" "private-subnet2" {
  vpc_id = "${aws_vpc.main.id}"
  cidr_block = "10.0.2.0/24"
}

resource "aws_db_subnet_group" "db-subnet" {
  name       = "DB subnet group"
  subnet_ids = ["${aws_subnet.private-subnet1.id}", "${aws_subnet.private-subnet2.id}"]
}


resource "aws_db_instance" "db" {
  allocated_storage    = "20"
  storage_type         = "gp2"
  engine               = "mysql"
  engine_version       = "5.7.22"
  instance_class       = "db.t2.micro"
  name                 = "mydb"
  username             = "admin"
  password             = "admin" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform

0
推荐指数
1
解决办法
2821
查看次数

Terraform 远程执行因权限被拒绝而失败

我尝试使用 Remote-exec 配置程序来检查新 AWS ec2 实例上的用户数据是否已完成,但我不断收到权限被拒绝的错误。

错误是。

bash: /tmp/terraform_409380328.sh: Permission denied
Run Code Online (Sandbox Code Playgroud)

我们使用 Terraform 版本 10.8

有人可以帮忙吗?

provisioner "remote-exec" {
    inline = [
        "set -x",
        "chmod +x /tmp/*sh",
        "/bin/bash -c \"timeout 300 sed '/finished-user-data/q' <(tail /var/lib/cloud/data/result.json)\"",
    ]
    connection {
      type = "ssh"
      user = "${var.user}"
      private_key = "${file("${var.private_key}")}"
      agent = false
    }
  }
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services terraform

0
推荐指数
1
解决办法
3775
查看次数

无法在 Terraform ECS 提供程序中使用内存预留

我正在运行测试,我的容器不希望有硬内存限制,因为我以编程方式将虚拟机交换为更大尺寸的虚拟机,并且需要容器能够自动利用 CPU 和内存的增量。我想探索内存预留,因为它是软限制,并且如果虚拟机的内存不低,则允许容器扩展。不幸的是,这个参数似乎在任务定义中不起作用。有任何想法吗?

任务定义:

resource "aws_ecs_task_definition" "quorum" {
  family                   = "quorum-${var.consensus_mechanism}-${var.tx_privacy_engine}-${var.network_name}"
  container_definitions    = "${replace(element(compact(local.container_definitions), 0), "/\"(true|false|[0-9]+)\"/", "$1")}"
  requires_compatibilities = ["${var.ecs_mode}"]
  # cpu                      = "4096"
  # memory                   = "81920"
  memoryReservation        = "8192"
  network_mode             = "${var.ecs_network_mode}"
  task_role_arn            = "${aws_iam_role.ecs_task.arn}"
  execution_role_arn       = "${aws_iam_role.ecs_task.arn}"

  volume {
    name = "${local.shared_volume_name}"
  }

  volume {
    name      = "docker_socket"
    host_path = "/var/run/docker.sock"
  }

}

Run Code Online (Sandbox Code Playgroud)

错误:

[FINAL] Summary execution: 
Wrote summarry output to:  .mjolnir//output.log
2 errors occurred:
        * aws_ecs_service.quorum: 5 errors occurred:
        * aws_ecs_service.quorum[3]: Resource 'aws_ecs_task_definition.quorum' not found for …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-ecs terraform

0
推荐指数
1
解决办法
1220
查看次数

如何将安全组附加到 terraform 中的 aws 实例

我正在尝试探索 terraform 在 AWS 中创建自动化基础设施。我不清楚如何将安全组附加到 terraform 中的 aws 实例。

例如,是否有任何属性可以指定安全组,如下所示

resource "aws_instance" "web" {
  ami           = "ami-a1b2c3d4"
  instance_type = "t2.micro"
}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform terraform-provider-aws

0
推荐指数
1
解决办法
2万
查看次数

创建 eks 集群时 terraform 上的无效 ARN 错误

**resource "aws_iam_role" "eks_role" {
  name = "eks_role"
  assume_role_policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
POLICY
}
resource "aws_iam_role_policy_attachment" "AmazonEKSClusterPolicy" {
  policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"
  role       = "aws_iam_role.eks_role.name"
}
resource "aws_iam_role_policy_attachment" "AmazonEKSServicePolicy" {
  policy_arn = "arn:aws:iam::aws:policy/AmazonEKSServicePolicy"
  role       = "aws_iam_role.eks_role.name"
}
resource "aws_eks_cluster" "t3_eks" {
  name     = "t3_eks"
  role_arn = "aws_iam_role.eks_role.arn"
  vpc_config {
    security_group_ids = var.sg
    subnet_ids = var.subnets
    endpoint_private_access = false
    endpoint_public_access = true
  }
  depends_on = [ …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services kubernetes terraform

0
推荐指数
1
解决办法
905
查看次数

使用 Terraform 创建 GKE 集群和命名空间

我需要创建 GKE 集群,然后创建命名空间并通过 helm 将 db 安装到该命名空间。现在我有 gke-cluster.tf,它使用节点池和 helm.tf 创建集群,它具有 kubernetes provider 和 helm_release 资源。它首先创建集群,然后尝试安装 db 但命名空间尚不存在,所以我必须terraform apply再次运行才能正常工作。我想避免使用多个文件夹的场景并且terraform apply只运行一次。像这样的情景有什么好的做法?感谢您的回答。

google-cloud-platform kubernetes google-kubernetes-engine terraform

0
推荐指数
1
解决办法
1214
查看次数

地形执行

假设我*.tf在 terraform 项目中有多个文件。当我执行 aterraform apply我想知道:

  1. Terraform 将检查所有文件以构建 DAG(有向无环图),然后开始供应资源。
  2. Terraform 将逐个文件读取并提供资源,当发现依赖项时,它将跳过资源并在解决相关依赖项后返回。

terraform infrastructure-as-code

0
推荐指数
1
解决办法
126
查看次数

无法打开 terraform plan -out 文件

是否可以打开运行时创建的文件terraform plan -out

我已经运行terraform plan -out samplefile.txt并想仔细阅读文件的内容,但我找不到能够打开它的文本编辑器。

不知道是不是字符编码问题。

terraform terraform0.12+

0
推荐指数
1
解决办法
1489
查看次数