我想运行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)
}
如果我理解正确,您希望在创建集群后在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]
}