Azure:通过 Terraform 为现有应用程序网关激活 AGIC 无法完全正常工作

发布于 2025-01-10 19:53:17 字数 510 浏览 0 评论 0原文

如果我通过 Terraform 为现有应用程序网关激活 AKS 的 AGIC:

  addon_profile {
    ingress_application_gateway {
      enabled    = true
      gateway_id = azurerm_application_gateway.application-gateway-network-1.id
    }
  }

并且部署 hello-world 入口应用程序,则不会自动创建现有应用程序网关中的规则等。如果我除了通过 Azure Portal 禁用 AGIC 并再次启用它之外什么都不做:一切正常!如果我部署相同的 hello-world 入口应用程序,则会自动创建规则/运行状况探测器等。 这似乎是 Terraform 或 Azure API 端的错误,但找不到任何内容。也许有人作为提示甚至解决方案?

我尝试使用不同的 AKS 版本并使用最新的 Terraform Azurem 提供程序 2.98。

提前致谢

if I activate AGIC for AKS via Terraform for an existing Application Gateway:

  addon_profile {
    ingress_application_gateway {
      enabled    = true
      gateway_id = azurerm_application_gateway.application-gateway-network-1.id
    }
  }

and I deploy a hello-world ingress-application the rules etc. within the existing Application Gateway are not automatically created. If I change nothing but disabling AGIC via Azure Portal and enable it again: all works fine! Rules/health probes etc. are created automatically if I deploy the same hello-world ingress-application.
It seems to be a bug on Terraform or Azure API side but cannot find anything. maybe someone as a hint or even a solution?

I tried it with different AKS versions and use the latest Terraform Azurem provider 2.98.

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨巷深深 2025-01-17 19:53:17

使用 azurerm 提供程序 >=3.0.0,您需要将 ingress_application_gateway 移至 addon_profile 之外,因为不再支持该功能。

传递 gateway_namesubnet_cidr 而不是 gateway_id 对我来说很有效,因为 Azure 创建入口并分配给 k8s 集群。这样就无需创建 azurerm_application_gateway 资源。

使用以下内容。

resource "azurerm_kubernetes_cluster" "aks-cluster" {
    ingress_application_gateway {
      gateway_name = "aks-cluster-ingress"
      subnet_cidr = "10.225.0.0/16"
    }
}

注意:相应地更改 gateway_name 和subnet_cidr 值。

Using azurerm provider >=3.0.0 you'll need to move the ingress_application_gateway outside of the addon_profile as that's no longer supported.

Passing the gateway_name and a subnet_cidr instead of the gateway_id works for me, as Azure create ingress and assigns to the k8s cluster. This saves the need to create an azurerm_application_gateway resource.

Use the following.

resource "azurerm_kubernetes_cluster" "aks-cluster" {
    ingress_application_gateway {
      gateway_name = "aks-cluster-ingress"
      subnet_cidr = "10.225.0.0/16"
    }
}

Note: change the gateway_name and subnet_cidr values accordingly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文