1、为什么需要服务?
在集群内部,POD之间需要通信。
在以往的通信方式,类似于HTTP请求的方式,需要知道对方的IP地址或者主机名来进行访问。但是由于以下原因,K8S不适合使用这些方法。
- POD是短暂的,经常会出现伸缩、以及节点异常导致POD会拉起或者关闭
- K8S在POD启动前就会给POD分配地址,所以客户端无法知道POD的IP地址
- 水平伸缩的情况下,多个POD会提供相同的服务,每个POD都有各自的地址。客户端记录所有的IP是不合理的。
为了解决以上问题,K8S提出了服务的概念
2、什么是服务
K8S的服务可以为一组功能相同的POD提供单一不变的入口。