梗概

Service 是一个抽象层,定义了一组逻辑上的 Pod,并能够在这些 Pod 之间提供网络访问(通常通过集群内部的虚拟 IP)。Service 解决了 Pod IP 动态变化的问题,提供稳定的访问入口。

详细说明

功能与作用

  • Service 处理 Pod 之间的通信,使应用程序组件能够相互发现和通信
  • 提供稳定的网络端点,即使底层 Pod 发生变化(扩缩容、故障转移等)
  • 支持多种访问模式:集群内部访问、外部访问等

实现机制

Service 类型

  • ClusterIP:默认类型,分配集群内部可访问的 IP
  • NodePort:在 ClusterIP 基础上,通过节点端口暴露服务
  • LoadBalancer:利用云提供商的负载均衡器暴露服务
  • ExternalName:将服务映射到外部名称

与其他组件关系

  • Service 与 Pod 通过标签选择器(Label Selector)建立关联
  • Service 定义存储在 Etcd 中,由 API 服务器管理
  • Kube-proxy 负责实现 Service 的网络功能

father:: kubernetes