1.概述
通过Deployment来创建一组Pod来提供具有高可用性的服务。每个Pod都会分配一个单独的Pod IP,却存在如下两问题:
1.pod ip仅仅集群内部可见的虚拟IP,外部无法访问
2.pod ip会随着pod的销毁而消失,ip可能会随时变化,导致访问服务不方便
k8s中的service就是解决以上问题的实现服务发现的核心关键。service能够提供负载均衡能力,但是在使用上有以下限制:
只提供4层负载均衡能力,没有7层功能。
2.service类型详解
2.1 service的类型
ClusterIp:默认类型,自动分配一个仅 Cluster 内部可以访问的虚拟 IP
NodePort:在 ClusterIP 基础上为 Service 在每台机器上绑定一个端口,这样就可以通过 :NodePort 来访问该服务
LoadBalancer:在 NodePort 的基础上,借助 cloud provider 创建一个外部负载均衡器,并将请求转发到NodePort。(是付费服务,而且价格不菲)
ExternalName:把集群外部的服务引入到集群内部来,在集群内部直接使用。没有任何类型代理被创建,这只有 kubernetes 1.7 或