1

我想运行 terraform,然后能够在 terraform 完成后立即在 cli 中运行 kubectl。或者这是你不做的事情。在 terraform 完成创建集群后,我想制作一个脚本来运行 kubectl 命令。

我有这个,我假设我可以编写 terraform kubernetes 代码,但我不相信它会覆盖 cli 的 kubeconfig 引用文件。



provider "kubernetes" {
  load_config_file        = false
  host                    = azurerm_kubernetes_cluster.cluster_1.kube_config.0.host
  username                = azurerm_kubernetes_cluster.cluster_1.kube_config.0.username
  password                = azurerm_kubernetes_cluster.cluster_1.kube_config.0.password
  client_certificate      = base64decode(azurerm_kubernetes_cluster.cluster_1.kube_config.0.client_certificate)
  client_key              = base64decode(azurerm_kubernetes_cluster.cluster_1.kube_config.0.client_key)
  cluster_ca_certificate  = base64decode(azurerm_kubernetes_cluster.cluster_1.kube_config.0.cluster_ca_certificate)
}
4

1 回答 1

1

如果我理解正确,您想在创建集群后在您的 kube 配置文件中添加一个上下文。也许az aks get-credentials在创建后使用 Terraform 运行会起作用?

resource "null_resource" "add_context" {
    provisioner "local-exec" {
        command = "az aks get-credentials --resource-group ${azurerm_kubernetes_cluster.cluster_1.resource_group_name} --name ${azurerm_kubernetes_cluster.cluster_1.name} --overwrite-existing"
    } 

    depends_on = [azurerm_kubernetes_cluster.cluster_1]
}
于 2020-05-05T11:49:13.457 回答