一、Service介绍
1、Service 的作用与核心功能
Service 是 Kubernetes 中用于抽象一组 Pod 并提供稳定访问入口的资源。它解决了以下问题:
- Pod IP 不固定:Pod 可能因故障、扩缩容或更新导致 IP 变化,Service 通过 ClusterIP(虚拟 IP)提供固定访问地址。
- 负载均衡:自动将流量分发到后端多个 Pod,支持轮询(默认)和会话保持(通过
SessionAffinity
配置)。 - 服务发现:通过 DNS 名称(如
<service-name>.<namespace>.svc.cluster.local
)实现集群内部服务通信。
2、Service 的类型与适用场景
Kubernetes 1.27.1 支持以下 Service 类型:
类型 | 用途 | 示例场景 |
ClusterIP | 默认类型,仅集群内部可访问。通过虚拟 IP 和端口暴露服务。 | 微服务间的内部通信(如前端调用后端 API) |
NodePort | 在 ClusterIP 基础上,通过节点 IP + 静态端口(30000-32767)暴露服务。 | 开发测试环境或需要临时外部访问的场景 |
LoadBalancer | 集成云厂商的负载均衡器&#x |