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 Add a Custom DNS Zone in CoreDNS (Kubernetes)

Why Add a Custom DNS Zone? Adding a custom DNS zone in CoreDNS can be useful for: Internal testing (e.g., *.local or *.internal) Service discovery for non-Kubernetes services Custom mappings and overrides Step-by-Step Guide 1. Edit the CoreDNS ConfigMap kubectl -n kube-system edit configmap coredns Add a new zone block like this: apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } forward . /etc/resolv.conf cache 30 loop reload loadbalance } internal.test:53 { hosts { 10.10.10.10 service1.internal.test 10.10.10.11 service2.internal.test fallthrough } } 2. Restart CoreDNS kubectl -n kube-system rollout restart deployment coredns 3. Test the Zone From any pod: ...

July 19, 2025 · 1 min · 199 words · John Cena

How to Add a Custom DNS Zone in NodeLocal DNSCache

Why Use Custom DNS Zones in NodeLocal DNSCache? NodeLocal DNSCache speeds up DNS resolution in Kubernetes by running a local CoreDNS instance on each node. Adding custom zones allows: Fast resolution of static or internal domains DNS overrides without relying on upstream resolvers Separation of internal and external DNS logic Step-by-Step Guide 1. Get the NodeLocal DNS ConfigMap kubectl -n kube-system get configmap node-local-dns -o yaml > node-local-dns.yaml 2. Add Custom Zones Inside the Corefile section, add your custom zone using the hosts plugin: ...

July 19, 2025 · 2 min · 222 words · John Cena

What is kube-proxy and How It Works in Kubernetes

Introduction How does Kubernetes know where to send traffic for your services? That’s the job of kube-proxy. Whether you’re accessing a ClusterIP, NodePort, or LoadBalancer — kube-proxy is working behind the scenes to route traffic correctly. Let’s unpack how it works in a way that’s easy to understand. What is kube-proxy? kube-proxy is a network component that runs on every node in your Kubernetes cluster. It’s responsible for: Handling traffic for Kubernetes Services Managing IP rules and routing Forwarding requests to the right Pods kube-proxy acts like a traffic router inside your Kubernetes cluster. ...

July 16, 2025 · 2 min · 334 words · John Cena

Understanding HTTP: Versions, WebSockets, and Modern Web Protocols

Introduction to HTTP HTTP (HyperText Transfer Protocol) is the foundation of data communication on the web. It’s a client-server protocol used for fetching resources such as HTML documents, images, and APIs. HTTP Versions Overview HTTP/1.1 Released in 1997 Supports persistent connections (keep-alive) Still widely used Limitation: Head-of-line blocking HTTP/2 Binary protocol introduced in 2015 Multiplexing: Multiple streams over a single TCP connection Header compression (HPACK) Server push (optional) Faster than HTTP/1.1 HTTP/3 Uses QUIC instead of TCP Built-in encryption (TLS 1.3 only) Better performance on lossy networks Fully multiplexed, no head-of-line blocking WebSockets WebSockets provide a full-duplex communication channel over a single TCP connection. ...

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