无头service和普通的service有什么区别 ?

无头Service和普通Service的主要区别如下:

  1. 配置差异:在定义Service时,如果指定了spec.clusterIP: None,则没有为其分配ClusterIP,这就是所谓的无头Service。无头Service没有标签选择器,但是有对应的Endpoint。相反,普通Service有ClusterIP,并且可以通过解析Service的DNS返回service的ClusterIP。
  2. 用途差异:无头Service主要用于有状态部署,例如statefulSet。在这些场景中,每个Pod都有自己的DNS地址,通过解析Pod的DNS可以返回Pod的IP。而普通Service的负载均衡是由kube-proxy实现的,它发现普通Service有ClusterIP,就会处理它并对它负载均衡到后端的Pod上。

综上所述,无头Service和普通Service在配置和使用上有明显的区别。无头Service没有ClusterIP,主要用于有状态部署,而普通Service有ClusterIP,主要用于负载均衡。

发表评论

后才能评论