Uploaded image for project: 'Network Edge'
  1. Network Edge
  2. NE-1000

Understand Gateway API listener collapsing and how Istio Gateway implements

XMLWordPrintable

    • Icon: Spike Spike
    • Resolution: Unresolved
    • Icon: Critical Critical
    • None
    • None
    • None
    • 0
    • 0.0

      Gateway API implementation can collapse/group listeners:

      An implementation MAY group Listeners by Port and then collapse each group of Listeners into a single Listener if
       the implementation determines that the Listeners in the group are “compatible”. An implementation MAY also group
       together and collapse compatible Listeners belonging to different Gateways.

      https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io%2fv1alpha2.Gateway

      Do a deeper dive into how this works and specifically how Istio collapses listeners.

      Open Questions

      • Does Istio implement gateway collapsing in accordance with the rules defined in the spec?
      • What happens if two gateways have different addresses in spec.addresses but the same host names in spec.listeners[].hostname? What intent does this express, and how should implementations handle it, in particular with regards to DNS?
      • How should we interpret this statement from the spec? "If this field specifies multiple Listeners that have the same Port value but are not compatible, the implementation must raise a 'Conflicted' condition in the Listener status."  Should this say "the same Port value and the same host name"?

      Check whether Istio upstream has any documented promise to preserve its current behavior (which Gateway API describes as optional: "An implementation MAY [...]").

      Deliverable: recommendations on how users can configure listeners, gateways, etc to use for troubleshooting and answering questions.

            Unassigned Unassigned
            gspence@redhat.com Grant Spence
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: