Terraform删除由应用程序网关入口控制器AGIC创建的配置/资源

问题描述

我有一些terraform代码,可在应用程序网关后面部署AKS以及与该问题无关的其他基础结构。该代码基于https://docs.microsoft.com/en-us/azure/developer/terraform/create-k8s-cluster-with-aks-applicationgateway-ingress。如果需要,我可以提供实际文件

所有基础结构在初始创建时均已成功部署,但是,当我配置AGIC pod并部署Nginx之类的应用程序时,它会在Terrain未知的Application Gateway上创建诸如路由规则之类的资源,因此如果我运行在terraform部署中,它将恢复为代码中的内容(无论是否进行了任何更改)。这将导致通过入口控制器到我的应用程序的路由返回502,直到重新部署为止。

我该如何解决

quasarExcludePackages

解决方法

不是我想要的方法,但是看起来像我需要的方法。基本上,您可以将Terraform配置为ignore_changes,这将创建所有资源,但忽略修改。您可以定义要忽略的资源,如下所示:

lifecycle {
  ignore_changes = [
    backend_address_pool,backend_http_settings,frontend_port,http_listener,probe,redirect_configuration,request_routing_rule,ssl_certificate,tags,url_path_map,]
}

这涵盖了由Azure AGIC窗格创建/修改的所有资源。