Kubernetes 同步期间出错:UpdateURLMap:googleapi:错误413:字段资源的值。路径匹配器[0]。路径规则太大

Kubernetes 同步期间出错:UpdateURLMap:googleapi:错误413:字段资源的值。路径匹配器[0]。路径规则太大,kubernetes,google-cloud-platform,google-kubernetes-engine,kubernetes-ingress,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Kubernetes Ingress,当我在入口文件中添加超过50条路径时,谷歌云平台出现了如下错误 “同步期间出错:UpdateURLMap:googleapi:Error 413:字段'resource.pathMatchers[0].pathRules'的值太大:最大大小50个元素;实际大小51.,FieldSizeToolage” 我们通过Traefik使用基于路径的入口。这个错误来自谷歌云平台 示例入口如下所示: apiVersion: extensions/v1beta1 kind: Ingress metadata:

当我在入口文件中添加超过50条路径时,谷歌云平台出现了如下错误

“同步期间出错:UpdateURLMap:googleapi:Error 413:字段'resource.pathMatchers[0].pathRules'的值太大:最大大小50个元素;实际大小51.,FieldSizeToolage”

我们通过Traefik使用基于路径的入口。这个错误来自谷歌云平台

示例入口如下所示:

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的it主机和路径规则:

我建议:

  • 创建另一个入口控制器
  • 使用GCP打开支持票证,以便他们可以增加项目HTTP(s)负载平衡器的路径规则限制(如果可以)

  • 这是URLMap资源的硬限制

    URL映射

    每个URL映射的主机规则-50-此限制不能增加


    这里有一个增加此限制的功能请求:

    我刚刚遇到了相同的问题。你找到有效的解决方法了吗?如果可以将“path”指定为逗号分隔的列表,所有这些列表都具有相同的后端,这将节省一些映射,那就太好了。唯一的解决办法是创建另一个入口控制器。