一、K8S中service存在的意义
1.解决节点失联问题
我们知道,pod是k8s中最小的运行单元,每次运行的时候,ip都是临时短暂的,下次重启,ip是会变的,service可以通过服务发现解决pod之间通讯的失联问题。
有点类似springcloud中的服务注册与发现功能,eureka,zookeeper,consule,nacos,dubbo都有该功能。
2.解决负载均衡问题
另一方面,service可以解决负载均衡问题
pod和service的关联通过label和selector,service对外提供一个vip(虚拟ip)
二、service的类型
我们可以通过查看kubectl expose --help
进行查看,默认为ClusterIP
–type=’’: Type for this service: ClusterIP, NodePort, LoadBalancer, or ExternalName. Default is ‘ClusterIP’
ClusterIP:集群内部使用
NodePort:对外访问应用使用
LoadBlancer:对外访问应用使用,公有云
我们可以通过暴露service,生产模板yaml文件
kubectl expose deployment web