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

Terraform配置Kubernetes Provider访问EKS集群遇本地连接拒绝错误

排查Terraform Kubernetes Provider连接localhost而非EKS集群的问题

问题场景

在A工作区创建EKS集群后,在B工作区通过配置带alias的Kubernetes Provider尝试访问该集群资源,但执行terraform plan/apply时出现错误:

Get "http://localhost/api/v1/namespaces/***/***/***": dial tcp 127.0.0.1:80: connect: connection refused

但Provider配置的host字段明明是EKS集群的endpoint,并非localhost。

排查方向

1. Kubernetes资源未绑定指定的Provider

你给Provider设置了alias = "aws",Terraform不会自动将这个Provider作为默认使用。所有需要访问该EKS集群的Kubernetes资源(比如Deployment、Service、ConfigMap等)必须显式指定Provider别名,否则Terraform会调用默认的Kubernetes Provider——而未配置的默认Provider会尝试读取本地kubeconfig,若本地无有效配置就会 fallback到localhost:80。

示例:创建Deployment时必须指定Provider

resource "kubernetes_deployment" "demo" {
  provider = kubernetes.aws # 关键:绑定到你配置的带alias的Provider
  metadata {
    name = "demo-deployment"
  }
  spec {
    replicas = 1
    # ... 其他部署配置
  }
}

2. 远程状态输出的集群信息无效

检查data.terraform_remote_state.kubernetes是否正确输出了EKS集群的endpoint和CA证书:

  • 执行terraform console,输入data.terraform_remote_state.kubernetes.outputs.eks_cluster_endpoint,查看返回值是否为有效的EKS地址(格式类似https://xxxx.eks.amazonaws.com)
  • 若返回为空或错误值,说明创建EKS集群的工作区未正确输出这些字段,需要在A工作区补充输出配置:
# A工作区(创建EKS集群的工作区)的输出配置
output "eks_cluster_endpoint" {
  value = aws_eks_cluster.my_eks.endpoint
}

output "cluster_certificate_authority_data" {
  value = aws_eks_cluster.my_eks.certificate_authority[0].data
}

3. AWS EKS认证数据源配置错误

data.aws_eks_cluster_auth.default需要指定正确的EKS集群名称,否则无法获取有效的认证token,导致Provider初始化失败并 fallback到localhost:

data "aws_eks_cluster_auth" "default" {
  # 可从远程状态获取集群名称,或直接指定
  name = data.terraform_remote_state.kubernetes.outputs.eks_cluster_name
}

4. Provider核心配置字段验证

确认Provider的三个核心字段取值正确:

  • host必须是完整的HTTPS地址(EKS集群endpoint均为HTTPS)
  • cluster_ca_certificate已通过base64decode正确解码
  • token是有效的EKS认证token

可通过terraform console逐一验证这些字段的实际取值。


内容的提问来源于stack exchange,提问作者Rémy Ntshaykolo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:50:27