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
我曾在 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