Gateway API vs Ingress: What's the Difference?

Gateway API vs Ingress in Kubernetes Kubernetes networking can be tricky, especially when you’re trying to expose your services to the outside world. Two common ways to do this are Ingress and the newer Gateway API. Let’s look at what they are, how they differ, and when to use one over the other. What is Ingress? Ingress is a Kubernetes resource that defines how to route HTTP and HTTPS traffic to your services. It requires an Ingress Controller to actually implement the logic, such as NGINX or Traefik. ...

August 5, 2025 · 2 min · 306 words · John Cena

How to Use Caching in Kubernetes Ingress Controllers

Caching in Kubernetes Ingress Caching is a key strategy to reduce backend load and improve response times for clients. In Kubernetes, caching is usually implemented through the Ingress controller — particularly with NGINX. Why Use Caching? Reduce load on backend services Improve speed for repeated requests Minimize cost and bandwidth Smooth handling of traffic spikes Common Caching Setup: NGINX Ingress The NGINX Ingress Controller supports proxy caching via annotations. Step 1: Enable caching in your Ingress resource apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-app-ingress annotations: nginx.ingress.kubernetes.io/proxy-cache: "my-cache-zone" nginx.ingress.kubernetes.io/proxy-cache-key: "$scheme$request_method$host$request_uri" nginx.ingress.kubernetes.io/proxy-cache-use-stale: "error timeout updating http_500 http_502 http_503 http_504" spec: rules: - host: myapp.example.com http: paths: - path: / pathType: Prefix backend: service: name: my-app port: number: 80 Step 2: Define the cache zone in the NGINX ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: nginx-configuration namespace: ingress-nginx data: proxy-cache-paths: | my-cache-zone keys_zone=my-cache-zone:10m max_size=100m inactive=60m use_temp_path=off; ⚠️ Requires restarting the Ingress controller or reloading its config. ...

June 16, 2025 · 2 min · 230 words · John Cena