ClusterIp
默认类型,每个Node分配一个集群内部的Ip,内部可以互相访问,外部无法访问集群内部。
NodePort
基于ClusterIp,另外在每个Node上开放一个端口,可以从所有的位置访问这个地址。
LoadBalance
基于NodePort,并且有云服务商在外部创建了一个负载均衡层,将流量导入到对应Port。要收费的。
ExternalName
将外部地址经过集群内部的再一次封装(实际上就是集群DNS服务器将CNAME解析到了外部地址上),实现了集群内部访问即可。例如你们公司的镜像仓库,最开始是用ip访问,等到后面域名下来了再使用域名访问。你不可能去修改每处的引用。但是可以创建一个ExternalName,首先指向到ip,等后面再指向到域名。所有需要访问仓库的地方,统一访问这个服务即可。简单用法可以查看这位兄弟的文章:https://www.cnblogs.com/DaweiJ/articles/9156747.html