是否有可能用terraform的Kubernetes提供程序覆盖Kubeconfig

时间:2020-04-30 20:20:15

标签: azure-cli terraform-provider-kubernetes

我想运行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)
}

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么您想在创建集群后在kube配置文件中添加上下文。创建后也许可以使用Terraform运行az aks get-credentials吗?

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]
}