GCP Ingress - 同步到 GCP 时出错:错误 运行 后端同步例程:区域后端服务不支持云装甲安全策略

GCP Ingress - Error syncing to GCP: error running backend syncing routine: cloud armor security policies not supported for regional backend service

我曾在 Google 云中尝试创建入口资源时遇到过这个问题。

通常在创建入口时,也会自动创建其他 GCP 资源(例如 target-https-proxies-list 、 urlmap 、 forwarding-rules 等资源)。这次没有创建任何东西,Ingress 错误在这里:

k describe ingress my-service-internal
Name:             my-service-internal
Namespace:        my-namespace
Address:
Default backend:  default-http-backend:80 (10.0.0.5:8080)
Rules:
  Host                                     Path  Backends
  ----                                     ----  --------
  my-service.example.com
                                           /*   my-service-internal:80 (10.251.1.108:8080,10.251.1.134:8080)
Annotations:                               ingress.gcp.kubernetes.io/pre-shared-cert: my-certificate-202107140101
                                           kubernetes.io/ingress.allow-http: false
                                           kubernetes.io/ingress.class: gce-internal
Events:
  Type     Reason  Age                 From                     Message
  ----     ------  ----                ----                     -------
  Normal   Sync    97s (x2 over 97s)   loadbalancer-controller  Scheduled for sync
  Warning  Sync    16s (x14 over 73s)  loadbalancer-controller  Error syncing to GCP: error running backend syncing routine: cloud armor security policies not supported for regional backend service k8s1-263259a6-my-namespace-my-service-in-8-151d5ee9

任何建议首先检查什么或任何猜测可能是什么问题?

详细说明 Dawids 的回答:

原因是云装甲策略只能由外部 HTTP 负载均衡器使用 如 Google's documentation.

中所述

因此,如果您正在配置 internal ingress on GKE,这会创建一个 内部 HTTP LoadBalancer,它与 Cloud Armor 安全策略不兼容

已通过删除后端配置中对安全策略的引用解决了该问题。

更改自

Spec:
  Connection Draining:
    Draining Timeout Sec:  60
  Security Policy:
    Name:  
  Session Affinity:
    Affinity Type:  NONE
  Timeout Sec:      40

Spec:
  Connection Draining:
    Draining Timeout Sec:  60
  Session Affinity:
    Affinity Type:  NONE
  Timeout Sec:      40