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

时间:2019-09-09 21:12:48

标签: kubernetes terraform google-kubernetes-engine

我想使用Terraform在Google Kubernetes引擎的多个k8s集群中创建一个秘密。

我知道我可以在“ kubernetes”提供程序中使用“主机”,“令牌”和其他一些参数,但是我只能描述一次这些参数,而且我不知道如何在文件期间连接到另一个集群地形。

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

1 个答案:

答案 0 :(得分:1)

您可以使用documentation

中所述的地形形式的提供者别名。

因此,您可以为多个k8s集群定义多个提供程序,然后通过别名引用它们。

例如

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
}