如何配置EKS的Terraform Kubernetes提供程序?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (197)

我正在尝试配置Terraform中的Kubernetes提供程序,但是到目前为止我还无法做到这一点。ek使用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的EKS provider。

data "aws_region" "current" {}

data "aws_availability_zones" "available" {}

provider "kubernetes" {
  config_context = "aws-test-terraform"
}
用户回答回答于

这种行为可能是由已知的核心bug引起的:https://github.com/hashicorp/terraform/issues/12393

Terraform Github上存在一个问题,它描述了一个具有相同错误的类似案例 (https://github.com/hashicorp/terraform/issues/12869#issuecomment-288339585)。 这是关于GKE的问题,但我想它也可能影响EKS。

这里是一个链接(https://gist.github.com/radeksimko/1a2cc98c5536bd4aa92e960ed7a47cf0)到要使用kubernetes_provider的一个例子。 它也与GKE有关,但我相信稍作改动就可以应用于EKS。

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

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励