是否有解决方法可以将 Cloud Armor 策略附加到通过 terraform 的 kubernetes ingress 创建的负载均衡器?
Is there a workaround to attach a Cloud Armor policy to a load balancer created via kubernetes ingress with terraform?
我已经使用 Terraform 创建了 Cloud Armor 安全策略,并且我有一个通过 Kubernetes Ingress 创建的负载均衡器。我想通过 Terraform 将 Cloud Armor 策略附加到负载均衡器。
根据 Terraform documentation,必须通过 google_compute_backend_service
附加 Cloud Armor 策略。
我的负载均衡器是使用 kubernetes_ingress
创建的,它不允许添加云装甲策略。
在 GCP 控制台中,我可以手动将负载均衡器目标添加到 Cloud Armor 策略。有谁知道在 Terraform 中实现此行为的解决方法?
供参考,我创建的资源是:
google_compute_security_policy &
kubernetes_ingress
如果您尝试将通过 Terraform 创建的 Cloud Armor 策略附加到通过 Ingress 生成的后端,您将遇到的问题是它自己的后端由 Ingress 控制器管理,并且它的名称在某种程度上是不可预测的(您不能在部署 Ingress 之前知道后端名称会是什么样子)。因此,通过 Terraform 执行此操作将是一个问题,我不建议这样做。
相反,您可以使用 BackendConfig 对象将策略附加到后端。
推荐的方式是按顺序做事
- 使用 Terraform 创建 Cloud Armor 策略
- 创建指向策略的 backendConfig 对象
- 使用 backendconfig 对象注释您的 Ingress
- 部署 Ingress
在此之后,您可以使用 Terraform 继续更改和调整您的 Cloud Armor 策略,而无需再次接触 Ingress。我们有完整的文档教程 here
我已经使用 Terraform 创建了 Cloud Armor 安全策略,并且我有一个通过 Kubernetes Ingress 创建的负载均衡器。我想通过 Terraform 将 Cloud Armor 策略附加到负载均衡器。
根据 Terraform documentation,必须通过 google_compute_backend_service
附加 Cloud Armor 策略。
我的负载均衡器是使用 kubernetes_ingress
创建的,它不允许添加云装甲策略。
在 GCP 控制台中,我可以手动将负载均衡器目标添加到 Cloud Armor 策略。有谁知道在 Terraform 中实现此行为的解决方法?
供参考,我创建的资源是: google_compute_security_policy & kubernetes_ingress
如果您尝试将通过 Terraform 创建的 Cloud Armor 策略附加到通过 Ingress 生成的后端,您将遇到的问题是它自己的后端由 Ingress 控制器管理,并且它的名称在某种程度上是不可预测的(您不能在部署 Ingress 之前知道后端名称会是什么样子)。因此,通过 Terraform 执行此操作将是一个问题,我不建议这样做。
相反,您可以使用 BackendConfig 对象将策略附加到后端。
推荐的方式是按顺序做事
- 使用 Terraform 创建 Cloud Armor 策略
- 创建指向策略的 backendConfig 对象
- 使用 backendconfig 对象注释您的 Ingress
- 部署 Ingress
在此之后,您可以使用 Terraform 继续更改和调整您的 Cloud Armor 策略,而无需再次接触 Ingress。我们有完整的文档教程 here