Chapter 7. Ingress and Gateway API
In Chapter 6, we saw how Kubernetes services enable applications to be accessible from both within and outside the cluster. While services provide a way to balance incoming traffic at layer 4, however, they lack the native ability to apply granular controls at upper layers. This means that Kubernetes services cannot perform common functions like TLS termination, application (layer 7)-level parsing, and filtering. For that, we need ingress mechanisms.
In this chapter, we’ll explore how Cilium supports both Ingress and its successor, Gateway API. You will learn:
-
What they are, how they differ, and when to use each
-
How to publish HTTP services with Ingress, including host and path routing and TLS termination
-
How Gateway API fits together with GatewayClass, Gateway, and HTTPRoute resources, and how routes attach to listeners
-
How to match and route traffic at layer 7 by path, headers, method, and query parameters
-
How to run progressive rollouts with traffic splitting (50/50 to 99/1) and validate the results
-
How to shape traffic with header edits and HTTP redirects
-
How to handle gRPC with GRPCRoute, using service and method matching
-
How to route internal traffic with GAMMA (Gateway API for service mesh)
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access