如何在EKS中使用Terraform Kubernetes提供程序

时间:2018-07-01 22:06:51

标签: 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时,出现错误,指出以下内容:

  

禁止使用configmaps:用户“ system:anonymous”无法在名称空间“ kube-system”中创建configmaps。

我知道提供程序正在提取部分配置,但似乎无法对其进行身份验证。我怀疑这是因为EKS使用heptio进行身份验证,并且我不确定Terraform使用的K8s Go客户端是否可以支持heptio。但是,鉴于Terraform在EKS上线时发布了对AWS EKS的支持,我怀疑他们是否也不会更新其Terraform提供程序来使用它。

现在甚至可以这样做吗?有其他选择吗?

1 个答案:

答案 0 :(得分:4)

在此处添加了执行身份验证:https://github.com/kubernetes/client-go/commit/19c591bac28a94ca793a2f18a0cf0f2e800fad04

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

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

也就是说,如果我有空闲时间,我将从事公关工作。