Service
Service 是 Kubernetes 中负责在 Pod 和外部之间建立稳定通信的组件。它解决了 Pod IP 动态变化的问题,让应用可以通过固定的入口访问 Pod。
🧩 Service 的职责
- 稳定访问
👉 Pod 的 IP 会随重启或调度而变化,Service 提供一个固定的虚拟 IP(ClusterIP),保证访问稳定。 - 负载均衡
👉 当有多个 Pod 副本时,Service 会自动把请求分发到不同的 Pod。 - 跨组件通信
👉 Service 让不同的应用组件(前端、后端、数据库)能够通过固定地址互相访问。 - 对外暴露
👉 可以通过 NodePort 或 LoadBalancer 类型,把集群内的服务暴露到外部。
📌 类比理解
- Service = 前台接待员
- Pod 就像公司里的员工,他们的工位(IP)可能经常变动。
- 前台接待员(Service)始终在固定位置,负责把来访者(请求)引导到正确的员工(Pod)。
- 如果有多个员工能处理同样的事情,接待员会把来访者平均分配给他们(负载均衡)。
📝 常见 Service 类型
- ClusterIP:默认类型,只能在集群内部访问。
- NodePort:在每个节点上开放一个端口,外部可以通过
NodeIP:Port访问。 - LoadBalancer:与云平台结合,自动创建外部负载均衡器。
- ExternalName:把 Service 映射到外部域名。
📝 示例配置
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
👉 这个 Service 会把请求转发到标签为 app=myapp 的 Pod 上。
💡 总结
- Service 是 Kubernetes 的 前台接待员。
- 它提供稳定入口,解决 Pod IP 动态变化的问题。
- 支持负载均衡和对外暴露,是应用通信的关键组件。

浙公网安备 33010602011771号