使用Terraform EKS模块执行init时http provider校验和错误求助
报错原因
该错误是旧版Terraform EKS模块依赖的terraform-aws-modules/http v2.4.1版本官方发布包校验和发生变更,与本地锁文件缓存的预期校验和不一致导致的provider安装失败,与你编写的EKS模块配置本身无直接关联。
修复步骤
- 清理本地Terraform缓存
删除当前项目目录下的.terraform缓存目录和.terraform.lock.hcl依赖锁文件,执行命令:
rm -rf .terraform .terraform.lock.hcl
- 绑定无问题版本的http provider
在项目根目录新建或编辑versions.tf文件,添加http provider的版本约束,指定使用修复了校验和问题的2.4.2及以上版本:
terraform { required_providers { http = { source = "terraform-aws-modules/http" version = ">= 2.4.2" } # 原有其他provider配置(如aws、kubernetes等)保留即可 } }
- 重新执行初始化
运行terraform init即可正常完成依赖拉取和初始化操作。
可选补充方案
如果执行上述操作后仍存在依赖冲突,可将你使用的Terraform EKS模块版本升级到支持EKS 1.20的最新兼容版本,从上游根除旧版本模块的依赖问题。
内容的提问来源于stack exchange,提问作者Fledgling_Earthling
相关产品推荐
相关产品推荐

