考点精讲
- Service 为后端一组 Pod 提供一个稳定的访问入口和负载均衡。因为 Pod 的 IP 会随重建而变化,Service 通过 selector 关联 Pod,并分配一个稳定的虚拟 IP 作为「门牌号」。按类型分:ClusterIP 是默认类型,分配集群内部虚拟 IP,仅供集群内访问;NodePort 在每个节点上开放一个固定端口(默认范围 30000-32767),供集群外部访问;ExternalIP / LoadBalancer 则把外部流量(或云厂商负载均衡器)引入集群。Service 本质是四层(TCP/UDP)负载均衡,与七层的 Ingress 分工不同。排查 Service 不通时,先看 selector 与 Pod label 是否匹配、endpoints 是否为空。
记忆技巧
ClusterIP 对内、NodePort 对外
Service 是 Pod 的稳定门牌号(Pod IP 会变,Service IP 不变)
Service 是 Pod 的稳定门牌号(Pod IP 会变,Service IP 不变)
常见误区
- 以为 Service 能取代 Ingress(Service 只能四层,Ingress 七层路由)
- NodePort 端口范围默认 30000-32767
- selector 不匹配导致 Service 无后端(endpoints 为空)
真题思路
- 【示例】本页题目为教学模拟题,非真题,仅用于讲解答题思路 要让集群外部用户通过固定端口访问某服务,最简单的 Service 类型是?
ClusterIP NodePort Headless None
答案:B
解析:NodePort 在每节点开放固定端口供外部访问;ClusterIP 仅供集群内,Headless 不分配 VIP。
常见问题
Q:ClusterIP 和 NodePort 区别
A:ClusterIP 仅集群内可访问,NodePort 在节点上开端口供外部访问。
Q:Service 能替代 Ingress 吗
A:不能,Service 是四层负载均衡,Ingress 做七层(HTTP/HTTPS)路由。
Q:Service 访问不通先查什么
A:查 selector 与 Pod label 是否匹配、endpoints 是否为空。
相关知识
教材出处:第9章 Kubernetes服务发现 Service服务发现(ClusterIP/NodePort)