service

service 是k8s的核心概念,通过创建service,可以为一组相同功能的容器应用提供一个统一的入口地址,并将请求负载分发到后端的各个容器应用上。

对于容器应用最简便的方式就是通过tcp/ip机制及监听ip和端口号来实现。定义一个提供web服务的RC,由两个tomcat容器副本组成,每个容器都通过containerPort设置提供服务的端口号为8080.

直接通过pod的ip地址和端口号可以访问到容器应用内的服务,但是pod的ip地址是不可靠的,例如当pod所在的node发生故障时,pod将被kubernetes重新调度到另一个node,pod的ip地址将发生变化。更重要的是,如果容器应用本身是分布式的部署方式,通过多个实例共同提供服务,就需要在这些实例的前端设置一个负载均衡器来实现请求的分发。kubernetes中的service就是用于解决这些问题的核心组件。

多端口service

在service的定义中页可以相应地设置为将多个端口对应到多个应用服务。

从集群外部访问pod或service由于pod和service都是kubernetes集群范围内的虚拟概念。所以集群外的客户端系统无法通过pod的ip地址或者service的虚拟ip地址和虚拟端口号访问它们。为了解决这个问题可以将pod,或者service的端口号映射到宿主机。

posted @ 2019-09-25 16:01  呼呼嘻嘻  阅读(290)  评论(0编辑  收藏  举报