Score:0

Google Cloud Load Balancer URL limit?

us flag

I've been in a process of migrating our application to use Gateway (gke-l7-global-external-managed).

Part of deployment are the 'review' applications, e.g.

apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
  labels:
  # {{ include "app.resource_labels" . | indent 4 }}
  name: '{{ .Release.Name }}'
spec:
  parentRefs:
    - namespace: contra
      sectionName: https
      name: contra-gateway
  hostnames:
    - web-app-{{ .Values.app.deployment.slug }}.contra.dev
  rules:
  - matches:
    - path:
        type: PathPrefix
        value: /
    backendRefs:
      - name: '{{ .Release.Name }}'
        port: 80
        kind: Service

Every review application has a custom sub-domain and custom URL paths.

We have many review applications that exist in parallel, and I've hit the following limit when trying to deploy them using gke-l7-global-external-managed:

- lastTransitionTime: "2023-08-18T23:17:20Z"
  message: 'error cause: gceSync: generic::failed_precondition: Update: Value
    for field ''resource.pathMatchers[50]'' is too large: maximum size 50 element(s);
    actual size 88.'
  observedGeneration: 1
  reason: ReconciliationFailed
  status: "False"
  type: Reconciled

How am I supposed to leverage Gateway for an application that has thousands of URL path rules when the Quota is set to just 50?

There appears to be a related feature request that's been open since 2019 with not much activity.

https://issuetracker.google.com/issues/126946582

However, I feel like I am missing something crucial here. Is there an abstraction that should live between Gateway/HTTPRoute/my application that I am missing?

Kranthiveer Dontineni avatar
qa flag
Hi \`Gajus\` can you elaborate what type of abstraction you are trying to have in between gateway and your application, so that we can provide an accurate solution. Regarding the feature request part try to upvote the existing one so that it might be addressed quickly by the google team.
Gajus avatar
us flag
None. The expectation was that I can use `Gateway` to setup `HTTPRoute`s, which would point to `Service`s.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.