带有 EKS 的 Terraform Kubernetes 提供程序在 configmap 上失败

loe*_*sak 2 kubernetes terraform amazon-eks

我已按照说明使用 Terraform 在 AWS 中创建 EKS 集群。

https://www.terraform.io/docs/providers/aws/guides/eks-getting-started.html

我还将连接到集群的输出复制到 ~/.kube/config-eks。我已经验证这成功地工作,因为我已经能够连接到集群并手动部署容器。但是,现在我正在尝试使用 Terraform Kubernetes 提供程序连接到集群,但似乎无法正确配置提供程序。

我已经将提供程序配置为使用我的 kubectl 配置,但是在尝试推送一个简单的 configmap 时,我收到一条错误消息,指出以下内容:

禁止配置映射:用户“system:anonymous”无法在命名空间“kube-system”中创建配置映射

我知道提供商正在获取部分配置,但我似乎无法对其进行身份验证。我怀疑这是因为 EKS 使用 heptio 进行身份验证,我不确定 Terraform 使用的 K8s Go 客户端是否支持 heptio。然而,考虑到在 EKS 进入 GA 时 Terraform 发布了他们的 AWS EKS 支持,我怀疑他们不会更新他们的 Terraform 提供商以使用它。

现在甚至可以这样做吗?有替代品吗?

moo*_*tpt 5

Exec auth 在这里添加:https : //github.com/kubernetes/client-go/commit/19c591bac28a94ca793a2f18a0cf0f2e800fad04

这是用于自定义身份验证插件并于 2 月 7 日发布的内容。

目前,Terraform 不支持新的基于 exec 的身份验证提供程序,但有一个解决方法存在问题:https : //github.com/terraform-providers/terraform-provider-kubernetes/issues/161

也就是说,如果我有空闲时间,我会做 PR。