小编Mim*_*imi的帖子

Terraform EKS 标记

我遇到了 Terraform EKS 标记问题,似乎没有找到可行的解决方案来在创建新集群时标记所有 VPC 子网。

提供一些背景信息:我们有一个 AWS VPC,我们将多个 EKS 集群部署到子网中。我们不创建 VPC 或子网是 EKS 集群创建的一部分。因此,创建集群的 terraform 代码无法标记现有子网和 VPC。虽然 EKS 会添加所需的标签,但下次我们在 VPC 上运行 terraform apply 时,它们会自动删除。

我的解决方法是在 VPC 中提供一个 terraform.tfvars 文件,如下所示:

eks_tags = 
 [
 "kubernetes.io/cluster/${var.cluster-1}", "shared", 
 "kubernetes.io/cluster/${var.cluster-2}", "shared",
 "kubernetes.io/cluster/${var.cluster-2}", "shared",
]    
Run Code Online (Sandbox Code Playgroud)

然后在 VPC 和子网资源中,我们执行类似的操作

    resource "aws_vpc" "demo" {
      cidr_block = "10.0.0.0/16"

      tags = "${
        map(
         ${var.eks_tags}
        )
     }"
    }
Run Code Online (Sandbox Code Playgroud)

但是,上面的方法似乎不起作用。我已经尝试了https://www.terraform.io/docs/configuration-0-11/interpolation.html 中的各种 Terraform 0.11 功能,但没有任何帮助。

有没有人能够解决这个问题?

我们总是为每个 EKS 集群创建新的 VPC 和子网的想法是错误的。显然,必须是一种使用 Terraform 标记现有 VPC 和子网资源的方法吗?

terraform terraform-provider-aws amazon-eks

4
推荐指数
2
解决办法
1902
查看次数