3

我已按照说明使用 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。但是,鉴于 Terraform 在 EKS 正式发布时发布了他们的 AWS EKS 支持,我怀疑他们不会更新他们的 Terraform 提供商以使用它。

现在甚至有可能做到这一点吗?有替代品吗?

4

1 回答 1

5

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

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

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

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

于 2018-07-01T23:17:57.180 回答