⒈介绍
kubernetes 通过标签选择的方式来匹配一组pod,然后提供对外访问的一种机制
每一个service(svc)都可以理解为一个微服务
Service有且只有一个算法 RB 轮询,
Service能够提供负载均衡的能力,但是在使用上有以下限制:
·只提供4层负载均衡能力【只能基于ip地址和端口进行转发】,而没有7层功能【不能通过主机名及域名的方案去进行负载均衡】,但有时我们可能需要更多的匹配规则来转发请求,这点上4层负载均衡是不支持的
⒉Service的类型
Service在K8s中有以下四种类型
·Clusterlp:默认类型,自动分配一个仅Cluster内部可以访问的虚拟IP
·NodePort:在ClusterlP基础上为Service在每台机器上绑定一个端口,这样就可以通过:NodePort来访问该服务
·LoadBalancer:在NodePort的基础上,借助 cloud provider 创建一个外部负载均衡器,并将请求转发到:NodePort
·ExternalName:把集群外部的服务引入到集群内部来,在集群内部直接使用。没有任何类型代理被创建,这只有kubernetes 1.7或更高版本的kube-dns 才支持