You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terragrunt部署Kubernetes-addons模块时EKS数据源报错问题

解决Terragrunt部署Kubernetes-addons模块时的EKS数据源报错问题

问题根源

你的dependency "eks"块中配置了mock_outputs,其中eks_cluster_id设为了假值something。而kubernetes-addons模块内的data.aws_eks_cluster.eks_cluster会尝试调用AWS API查询这个不存在的集群,因此触发"couldn't find resource"错误。

解决方案

  1. 移除mock_outputs配置
    既然你已经成功创建了EKS集群,无需再用假的mock值占位。修改后的dependency块如下:

    dependency "eks" {
      config_path = "../eks"
    }
    

    Terragrunt会自动从../eks目录的EKS模块读取真实的输出值。

  2. 验证EKS模块的输出配置
    确保../eks目录的Terraform代码(或Terragrunt关联的模块)正确输出了所需字段,示例outputs.tf配置:

    output "cluster_id" {
      value = module.eks.cluster_id
    }
    
    output "eks_cluster_endpoint" {
      value = module.eks.cluster_endpoint
    }
    
    output "eks_oidc_provider" {
      value = module.eks.oidc_provider
    }
    
  3. 按顺序重新部署

    • 先确认../eks目录已执行terragrunt apply完成EKS集群部署
    • 切换到kubernetes-addons目录,执行terragrunt plan或terragrunt apply,此时数据源会使用EKS集群的真实信息,成功完成查询。

补充说明

如果是首次全链路部署(未预先创建EKS集群),Terragrunt会根据dependency配置自动先部署EKS模块,再部署addons模块,无需设置mock_outputs——mock仅适用于不需要真实资源存在的临时场景,而addons模块依赖真实的EKS集群资源,因此不能用假值mock。

内容的提问来源于stack exchange,提问作者Tomer Leibovich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:27:12