kubernetes - 如何通过 Terraform 管理多个 kubernetes 集群?

标签 kubernetes terraform google-kubernetes-engine

我想使用 Terraform 在 Google Kubernetes Engine 的几个 k8s 集群中创建一个 secret 。

我知道我可以在“kubernetes”提供程序中使用“host”、“token”和其他一些参数,但是我只能描述这些参数一次,并且我不知道如何在terraform文件中连接到另一个集群。

我的问题是如何通过 Terraform 在多个 k8s 集群中创建 secret (或执行其他操作)。也许您知道 github 上的一些工具或其他通过单个 terraform 文件进行操作的技巧?

最佳答案

您可以在 terraform 中为 provider 使用别名,如 documentation 中所述

所以你可以为多个 k8s 集群定义多个 provider,然后通过别名引用它们。

例如

provider "kubernetes" {
  config_context_auth_info = "ops1"
  config_context_cluster   = "mycluster1"
  alias = "cluster1"
}

provider "kubernetes" {
  config_context_auth_info = "ops2"
  config_context_cluster   = "mycluster2"
  alias = "cluster2"
}

resource "kubernetes_secret" "example" {
  ...
  provider = kubernetes.cluster1
}

关于kubernetes - 如何通过 Terraform 管理多个 kubernetes 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861264/

相关文章:

kubernetes - 允许使用 Istio CNI 插件从 init 容器向 Kubernetes API 发出请求

kubernetes - 我需要使用旧版 API 组吗?

ubuntu - kubernetes 在 ubuntu 中找不到正确的 go

kubernetes - 是否可以从 configmap 为 Horizo​​ntalPodAutoscaler 设置外部指标的名称? GKE

kubernetes - 在 GKE 集群上创建基于路径的 Ingress

kubernetes - Kubernetes服务有时无响应

terraform - 使用 terraform 将列表( map (列表( map (字符串))))转换为 map (列表( map (字符串)))

azure - 如何使用 Terraform 将多个组添加到 Azure API 管理服务产品中?

azure - Terraform - 如何动态创建资源

kubernetes - 针对GKE的体积声明/体积的多次错误