terraform apply创建EKS报错:指定实例类型m4.large不存在如何解决
问题原因
- 你使用的v16.1.0版本
terraform-aws-eks模块的节点组配置参数规则为:实例类型需通过复数形式的instance_types列表参数传入,你配置中的单数instance_type参数不被模块识别,模块会自动调用默认值m4.large作为实际创建的节点实例类型。 - 你指定的AWS区域
eu-north-1(斯德哥尔摩区域)不支持m4系列实例,因此触发实例类型不存在的报错。 - 你的配置中存在拼写错误:
min_capaicty拼写有误,正确写法为min_capacity,后续运行也会触发异常,需同步修正。
解决方案
- 修正
cluster.tf中eks模块的节点组配置,调整参数名称并修正拼写错误,修改后的配置如下:
module "eks" { source = "git::https://github.com/terraform-aws-modules/terraform-aws-eks.git?ref=v16.1.0" cluster_name = local.cluster_name cluster_version = "1.17" vpc_id = module.vpc.aws_vpc_id subnets = module.vpc.aws_subnet_private_prod_ids node_groups = { eks_nodes = { desired_capacity = 3 max_capacity = 3 min_capacity = 3 instance_types = ["t3.micro"] } } manage_aws_auth = false }
- 执行
terraform init --upgrade同步模块配置变更,再重新运行terraform apply即可正常创建资源。
内容的提问来源于stack exchange,提问作者rel.foo.fighters
相关产品推荐
相关产品推荐

