【问题标题】:Override a module's local.tf variable in Terraform在 Terraform 中覆盖模块的 local.tf 变量
【发布时间】:2021-05-04 15:30:17
【问题描述】:

我想将https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/local.tf中的root_volume_type的值覆盖为gp2

这是我在 terraform 代码中创建的唯一一个名为 main.tf 的文件。我想在代码中覆盖它,而不是在运行 terraform apply 时通过命令行设置它

module "eks_example_basic" {
  source  = "terraform-aws-modules/eks/aws//examples/basic"
  version = "14.0.0"
  region  = "us-east-1"
}

【问题讨论】:

  • 你的意思是你想用非默认值设置workers_group_defaults?
  • 是的。但是我尝试了各种方法,但都不起作用。你能推荐一个合适的方法吗?
  • 您能说明您尝试了什么以及错误消息吗?
  • 根据此页面registry.terraform.io/modules/terraform-aws-modules/eks/aws/… 我尝试执行此模块 "eks_example_basic" { source = "terraform-aws-modules/eks/aws//examples/basic" version = "14.0.0" region = "us-east-1" workers_group_defaults = { root_volume_type = "gp2" } } 但在 terraform plan 期间会引发错误此处不应出现名为“workers_group_defaults”的参数。

标签: amazon-web-services kubernetes terraform amazon-eks


【解决方案1】:

错误是正确的,因为您采购示例,它不支持 workers_group_defaults 等变量。你不能覆盖它,除非你 fork 例子并自己修改它。

核心模块支持

workers_group_defaults,例如:

data "aws_vpc" "default" {
  default = true
}

data "aws_subnet_ids" "default" {
  vpc_id = data.aws_vpc.default.id
}

module "eks_example" { 

  source = "terraform-aws-modules/eks/aws" 
  
  version = "14.0.0"  
  cluster_name = "SomeEKSCluster"  
  cluster_version = "1.18"
 
  subnets         = data.aws_subnet_ids.default.ids
  vpc_id          = data.aws_vpc.default.id    
      
  workers_group_defaults = { root_volume_type = "gp2" }
}      


【讨论】:

    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2021-06-28
    • 2021-03-12
    • 1970-01-01
    • 2020-12-02
    • 2021-04-01
    • 2019-01-21
    • 2019-03-17
    相关资源
    最近更新 更多