kubernetes - 如何为 EKS 配置 Terraform Kubernetes 提供程序
问题描述
我正在尝试在 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 ,我会丢失什么?
解决方案
这种行为可能是由已知的核心错误引起的:core: No interpolation for cross-provider dependencies #12393。
Terraform Github 上有一个问题,描述了具有相同错误的类似案例 - #12869。
这是关于与 GKE 相关的问题,但我想它也可能会影响 EKS。
这是一个gist链接,其中包含使用 kubernetes_provider 的示例。
它也与 GKE 有关,但我相信只要稍作改动,它就可以应用于 EKS。
还可以考虑在 StackOverflow 上查看与您的问题相关的另一个好答案。
简而言之,解决方案是在第一阶段创建 Kubernetes 集群,然后在第二阶段创建 Kubernetes 对象。
推荐阅读
- scala - Spark 结构化流应用程序向 Azure blob 生成空 parquet 文件
- c++ - 我创建了一个小程序来使用命令提示符将某个基本文件复制到任何目录中的新文件,但它不起作用
- tags - 阻止 Comscore 机器人访问
- python - 如何以自定义样式更改 tkk 滚动条的宽度?
- swift - 斯威夫特:你如何正确地从选择性日期组件中实例化日期?
- lua - 从 python 到 lua 的翻译错误。我的错误在哪里?
- android - 如何使弹出视图内的线性布局响应?
- webdriver-io - 使用 webdriverio 和 browserstack javascript 在真实设备上上传 safari 中的图片
- javascript - 表设置值制作电子表格的副本
- optimization - What is maximum number of equality constraints in Scipy's SLSQP algorithm?