Summary

Jaydeep Karale explains the core problem Kubernetes Services solve: Pod IPs are ephemeral and change when pods die and restart, making direct pod-to-pod communication unreliable. Services provide a stable ClusterIP and DNS name backed by label selectors that dynamically track the current set of matching pods. The key insight is that Kubernetes doesn’t make Pods stable — it makes access to Pods stable.

Jaydeep 解釋 Kubernetes Service 的根本存在意義:Pod 的 IP 會隨著重啟而改變,Services 透過 label selector 提供穩定的 ClusterIP 和 DNS 名稱,動態追蹤匹配的 Pod 集合。Kubernetes 不讓 Pod 穩定,而是讓對 Pod 的存取穩定。

Key Points

  • Pod IPs are ephemeral: die → new pod → new IP
  • Services use label selectors (not hardcoded IPs) to track pod membership
  • Service provides: stable ClusterIP, DNS name, automatic load balancing
  • Dead pods auto-removed, new pods auto-added to service endpoint list
  • Separation: connect to logical group, not individual pods

Insights

The framing “Kubernetes doesn’t make Pods stable, it makes access to Pods stable” is the cleanest summary of the architectural philosophy. This post is a good onboarding reference for the concept before diving into Ingress, NetworkPolicy, or service mesh territory.

Connections

Raw Excerpt

“Kubernetes doesn’t make Pods stable. It makes access to Pods stable. That’s the real purpose of a Service.”