You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Terraform创建AKS集群后自动部署应用

一键式AKS集群创建与应用自动部署指南

核心问题

当前配置已能成功创建AKS集群并生成kubeconfig文件,但kubernetes_deployment资源未自动关联新集群的认证信息,导致无法在terraform apply过程中自动完成应用部署。

解决方案

通过配置Terraform的Kubernetes Provider直接引用AKS集群的认证数据,无需依赖本地生成的kubeconfig文件,即可实现集群创建与应用部署的全自动化。

步骤1:配置Kubernetes Provider

在deployment.tf顶部添加Kubernetes Provider配置,直接使用AKS集群输出的kube_config_raw(完整的kubeconfig内容)完成认证:

provider "kubernetes" {
  inline_config = azurerm_kubernetes_cluster.aks.kube_config_raw
}

步骤2:优化依赖关系(可选)

由于Kubernetes Provider已通过azurerm_kubernetes_cluster.aks的输出值建立依赖,kubernetes_deployment资源中的depends_on可以移除,Terraform会自动处理资源创建顺序。修改后的deployment.tf如下:

provider "kubernetes" {
  inline_config = azurerm_kubernetes_cluster.aks.kube_config_raw
}

resource "kubernetes_deployment" "sdc" {
  metadata {
    name = "sdc"
    labels = {
      app = "serviceName"
      # version = "v1.0"
    }
    namespace = "default"
  }

  spec {
    replicas = 1
    selector {
      match_labels = {
        app = "serviceName"
      }
    }
    template {
      metadata {
        labels = {
          app = "serviceName"
          # version = "v1.0"
        }
      }
      spec {
        container {
          image = "myImage"
          name  = "serviceName"
          port {
            container_port = 80
          }
        }
      }
    }
  }
}

步骤3:保留本地kubeconfig(可选)

如果仍需在本地保存kubeconfig文件,可保留output.tf中的local_file资源,此操作不影响自动化流程。

验证自动化流程

执行terraform init初始化环境后,运行terraform apply,Terraform会自动完成以下步骤:

  • 创建AKS集群
  • 配置Kubernetes Provider关联新集群
  • 部署应用到AKS集群

内容的提问来源于stack exchange,提问作者Ribo01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:33:36