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