You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes中Endpoint与ClusterIP的区别是什么?

ClusterIP 和 Endpoint 是 Kubernetes 中定位完全不同的两类核心资源,二者存在本质差异,具体区别如下:

1 核心定位不同
  • ClusterIP 是 Service 资源的默认类型,本质是 Kubernetes 为集群内部服务分配的固定虚拟IP,仅在集群内部可路由,作为集群内部访问一组后端业务Pod的统一入口。
  • Endpoint 是独立的 Kubernetes 资源,作用是记录对应 Service 所匹配到的所有后端Pod的真实IP+端口列表,相当于Service的动态后端地址簿。
2 工作逻辑的关联

二者通常是配套工作的,普通场景下不需要用户手动操作Endpoint:

kube-controller-manager 组件会自动监听Service的标签选择器规则,实时同步符合条件的Pod地址,自动生成和更新同名的Endpoint资源。
当集群内部的请求发送到ClusterIP的指定端口时,kube-proxy 组件会根据Endpoint里的地址列表,把请求转发到其中一个健康的后端Pod上,同时实现负载均衡。

3 核心属性差异
  • 生命周期:ClusterIP和绑定的Service生命周期完全一致,只要Service不被删除,ClusterIP就不会变更;Endpoint会随后端Pod的扩缩容、重启、故障下线实时更新,是动态变化的。
  • 可访问性:ClusterIP是可直接接收业务请求的虚拟入口,支持TCP、UDP等常规四层流量转发;Endpoint本身只是地址记录集合,不能直接接收请求。
  • 配置方式:ClusterIP在创建Service时由K8s自动分配,也支持用户手动指定固定值;除了无头Service、自定义后端等特殊场景,Endpoint完全由系统自动生成,不需要用户手动配置。
简单示例

假设你创建了一个匹配3个Nginx Pod的ClusterIP类型Service,K8s会给这个Service分配一个类似10.96.12.34的ClusterIP,同时自动生成同名的Endpoint,里面记录了3个Nginx Pod的真实PodIP+80端口的列表。集群内部用户访问10.96.12.34:80时,流量就会被自动转发到3个Nginx Pod中的一个。

内容的提问来源于stack exchange,提问作者Amine Ben Amor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:36:02