service定义:对一组pod的访问规则
一、service作用:
1. 防止pod失联(服务发现)
pod的ip是短暂的,在创建、升级、回滚的时候回更改ip,但是pod之间的访问需要通过ip地址,这样用service来做服务发现,所有的pod在获得、更改ip 的时候都去service里修改自己的ip,pod在相互访问的时候先去service里找到对应pod注册的ip地址
2.定义一组pod的访问策略(负载均衡)
例如一个前端pod可通过一个service做负载均衡访问后端的3个pod
二、pod和service关系
根据lable和selector建立关系,访问service通过其vip(virtual ip)来实现对pod的负载均衡和服务发现
三、常见service类型
1.ClusterIP : 集群内部访问 (创建pod的时候默认这种类型,除非直接声明
2.NodePort : 对外访问应用使用
3.LoadBalancer: 对外访问使用(公有云)
创建一个svc,默认为clusterip
修改yaml文件,加上type
查看新建的pod
可以对外用32209(随机映射的端口)访问web1,需要指定端口的话需要在yaml文件里手动指定
node一般部署在内网,外网一般无法访问,通过以下方法实现
1)内网里找一台能上网的服务器,用nginx配置反向代理,手动添加需要访问的node到nginx
2)使用loadbalancer,使用公有云的负载均衡,把节点放到外网