同步期间出错:UpdateURLMap: googleapi: 错误 413:字段 resource.pathMatchers[0].pathRules 的值太大

Error during sync: UpdateURLMap: googleapi: Error 413: Value for field resource.pathMatchers[0].pathRules is too large

当我在 Ingress 文件中添加超过 50 个路径时 - 从 Google Cloud Platform 收到以下错误。

"Error during sync: UpdateURLMap: googleapi: Error 413: Value for field 'resource.pathMatchers[0].pathRules' is too large: maximum size 50 element(s); actual size 51., fieldSizeTooLarge"

我们正在通过 Traefik 使用基于路径的 Ingress。此错误来自 Google Cloud Platform。

Ingress 样例看起来像:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    traefik.frontend.rule.type: PathPrefixStrip
  name: traefik-ingress
  namespace: default
spec:
  rules:
  - host: domain-name.com
    http:
      paths:
      - backend:
          serviceName: default-http-backend
          servicePort: 8080
        path: /
      - backend:
          serviceName: foo1-service
          servicePort: 8080
        path: /foo1/*
      - backend:
          serviceName: foo2-service
          servicePort: 8080
        path: /foo2/*
      - backend:
          serviceName: foo3-service
          servicePort: 8080
        path: /foo3/*

看起来您的入口使用的是 GCP 中的第 7 层负载均衡器,路径规则的限制是 50。我在 GCP 中的 HTTP(s) 负载均衡器中找不到路径规则的标准限制他们的文档。您可以看到您的 LB 的主机和路径规则:

我推荐:

  1. 创建另一个入口控制器。
  2. 使用 GCP 开具支持票,以便他们可以为您的项目增加 HTTP(s) 负载平衡器的路径规则限制。

这是 URLMap 资源的硬限制,which cannot be increased

URL maps

Host rules per URL map - 50 - This limit cannot be increased.

这是增加此限制的功能请求:https://issuetracker.google.com/issues/126946582