0

我已经使用 Terraform 创建了 Cloud Armor 安全策略,并且我有一个通过 Kubernetes Ingress 创建的负载均衡器。我想通过 Terraform 将 Cloud Armor 策略附加到负载均衡器。

根据Terraform 文档,必须通过 附加 Cloud Armor 策略google_compute_backend_service

我的负载均衡器是使用创建的kubernetes_ingress,它不允许添加云装甲策略。

在 GCP 控制台中,我可以手动将负载均衡器目标添加到 Cloud Armor 策略。有谁知道在 Terraform 中实现这种行为的解决方法?

作为参考,我创建的资源是:google_compute_security_policy & kubernetes_ingress

4

1 回答 1

1

如果您尝试将通过 Terraform 创建的 Cloud Armor 策略附加到通过 Ingress 生成的后端,您将遇到的问题是它自己的后端由 Ingress 控制器管理,并且它的名称在某种程度上是不可预测的(您不知道后端名称是什么在您部署 Ingress 之前会看起来像这样)。因此,通过 Terraform 执行此操作将是一个问题,我不建议这样做。

相反,您可以使用BackendConfig对象将策略附加到后端。

推荐的方式是按这个顺序做事

  • 使用 Terraform 创建 Cloud Armor 策略
  • 创建一个指向策略的 backendConfig 对象
  • 使用backendconfig对象注释您的 Ingress
  • 部署 Ingress

在此之后,您可以使用 Terraform 不断更改和调整您的 Cloud Armor 策略,而无需再次接触 Ingress。我们在这里有一个完整的文档教程

于 2021-12-29T12:52:12.873 回答