k8s学习六-核心技术~Service

1 Service存在意义

1.1 防止pod失联(服务发现)

k8s学习六-核心技术~Service
pod每次启动后ip是不固定的,这样就会造成访问pod的ip频繁发生变化。引入Service后,Pod会先把ip地址注册到Service上。不再直接访问pod,而是访问Service的vip(虚拟ip),然后找到具体功能对应的ip,再用最新的ip进行访问。

1.2 定义一组pod的访问策略(负载均衡)

k8s学习六-核心技术~Service

2 Pod和Service关系

同Controller一样,也是通过label标签和selector选择器关联
k8s学习六-核心技术~Service

3 Service类型

  • ClusterIP(默认):集群内部使用
  • NodePort:对外访问应用使用
  • LoadBalancer:对外访问应用使用,可以通过公有云访问

一般来讲node只能通过内网访问,外网不能直接访问。如果想要通过外网访问可以通过如下方式:

  • 找到一台可以外网访问的机器,安装nginx做反向代理,然后手动把可以访问的节点添加到里面
  • LoadBalancer是通过公有云,公有云中开发一个负载均衡控制器,连接公有云控制器即可

1 查看pod service类型

kubectl get svc
k8s学习六-核心技术~Service

2 修改service类型
k8s学习六-核心技术~Service
修改完后启动容器查看
k8s学习六-核心技术~Service

上一篇:Kubernetes部署


下一篇:[k8s 学习笔记]