1 Service存在意义
1.1 防止pod失联(服务发现)
pod每次启动后ip是不固定的,这样就会造成访问pod的ip频繁发生变化。引入Service后,Pod会先把ip地址注册到Service上。不再直接访问pod,而是访问Service的vip(虚拟ip),然后找到具体功能对应的ip,再用最新的ip进行访问。
1.2 定义一组pod的访问策略(负载均衡)
2 Pod和Service关系
同Controller一样,也是通过label标签和selector选择器关联
3 Service类型
- ClusterIP(默认):集群内部使用
- NodePort:对外访问应用使用
- LoadBalancer:对外访问应用使用,可以通过公有云访问
一般来讲node只能通过内网访问,外网不能直接访问。如果想要通过外网访问可以通过如下方式:
- 找到一台可以外网访问的机器,安装nginx做反向代理,然后手动把可以访问的节点添加到里面
- LoadBalancer是通过公有云,公有云中开发一个负载均衡控制器,连接公有云控制器即可
1 查看pod service类型
kubectl get svc
2 修改service类型
修改完后启动容器查看