如何为EKS配置Terraform Kubernetes提供程序

如何为EKS配置Terraform Kubernetes提供程序,kubernetes,terraform,amazon-eks,Kubernetes,Terraform,Amazon Eks,我正在尝试在Terraform中配置kubernetes提供程序,但是到目前为止我还无法做到这一点。EKS使用heptio验证器,因此我没有可以提供给Kubernetes提供者的证书路径。实现这一目标的正确方法是什么 我已经试过这样的方法: provider "kubernetes" { config_context_auth_info = "context1" config_context_cluster = "kubernetes" } 结果是: Error: Error ap

我正在尝试在Terraform中配置kubernetes提供程序,但是到目前为止我还无法做到这一点。EKS使用heptio验证器,因此我没有可以提供给Kubernetes提供者的证书路径。实现这一目标的正确方法是什么

我已经试过这样的方法:

provider "kubernetes" {
  config_context_auth_info = "context1"
  config_context_cluster   = "kubernetes"
}
结果是:

Error: Error applying plan:

1 error(s) occurred:

* kubernetes_namespace.example: 1 error(s) occurred:

* kubernetes_namespace.example: Post http://localhost/api/v1/namespaces: dial tcp [::1]:80: getsockopt: connection refused

我有一个~/.kube/config,我可能缺少什么?

这种行为可能是由已知的核心错误引起的:

Terraform Github上有一个问题,它描述了一个类似的案例,但有相同的错误-。
这是关于GKE的问题,但我想它也会影响EKS

下面是使用kubernetes_提供者的示例的要点。
它也与GKE有关,但我相信只要稍作改动,它就可以应用于EKS

还可以考虑检查与您的问题相关的另一个良好的StackOverflow。

简而言之,解决方案是在第一阶段创建Kubernetes集群,然后在第二阶段创建Kubernetes对象。

对于使用Terraform的EKS provider

data "aws_region" "current" {}

data "aws_availability_zones" "available" {}

provider "kubernetes" {
  config_context = "aws-test-terraform"
}