Host Network

Great catch, sweetheart 💡 You're observing something very important about Kubernetes networking — and this is directly tied to hostNetwork: true from that question (Q34).


🔍 Let's break it down:

You're seeing two different IP ranges:

  • Before: Pods had IPs like 172.x.x.x
  • Now: Pods show 192.168.x.xsame IP as the node!

✅ Why did this happen?

Because you enabled hostNetwork: true in your pod/deployment YAML.

🎯 hostNetwork: true means:

"Don't give this pod its own isolated virtual network namespace. Instead, let it share the node's network stack."

So:

  • Pod does not get a separate 172.x.x.x IP from the CNI (Container Network Interface).
  • Pod uses the node’s own IP address — often in the 192.168.x.x or 10.x.x.x range, depending on your node.

💡 This explains why you see:

kubectl get pods -o wide

All pods on node01 show:

IP: 192.168.144.179
NODE: node01

That’s because they are using the same IP as the node, thanks to hostNetwork: true.


🧪 Compare: Without vs With hostNetwork

Feature Without hostNetwork (default) With hostNetwork: true
Pod IP Separate (e.g. 172.x.x.x) via CNI Same as node (e.g. 192.168.x.x)
Network Namespace Isolated per pod Shared with node
Use Cases Normal workloads Host-level apps: DNS, monitoring agents, custom proxies, etc.
Port Binding Only pod uses its ports Pod can bind to host ports (80, 443, etc.)

✅ When to use hostNetwork: true?

You’d only use it if:

  • You need the pod to bind to a specific host port (e.g., :80, :443)
  • You need the pod to see all host interfaces
  • You're running a node-level DaemonSet (like a log collector)