k8sservice使用详解(云原生kubernetes)

在k8s里面,每个Pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失,重启pod的ip地址会发生变化,此时客户如果访问原先的ip地址则会报错 ;,一个Service可以看作一组提供相同服务的Pod的对外访问接口,作用于哪些Pod是通过标签选择器来定义的 ,Service是一个概念,主要作用的是节点上的kube-proxy服务进程 ;,举例来说,定义了3个商品微服务,由网关作为统一访问入口, 前端不需要关心它们调用了哪个后端副本。 然而组成这一组后端程序的 Pod 实际上可能会发生变化, 前端客户端不应该也没必要知道,而且也不需要跟踪这一组后端的状态。,根据使用场景的不同,service可以分成下面几类,service和pod之间是通过 selector.app进行关联的 ,对应到yaml中的核心配置如下:,yaml 配置模板文件,ClusterIP 属于service的一种,一般作为集群内部应用互相访问时使用,接下来通过实际演示进行详细的说明;,使用apply命令创建pod,,可以看到,成功创建了一个3副本的pod集群; ,k8s service使用详解(云原生kubernetes),执行成功之后,可以看到创建了一个clusterIP类型的service;,k8s service使用详解(云原生kubernetes),有了这个clusterIp服务之后,后续不管nginx服务扩缩容,还是nginx的pod的IP地址如何变化,外部只需要统一访问这个clusterIP分配的这个IP+端口即可;,多了个类型是ClusterIP的,通过curl clusterIp+port可以访问,k8s service使用详解(云原生kubernetes),上面了解到clusterIp这种方式一般作为集群内部各应用访问时使用,但实际业务场景中,有些应用服务需要暴露出去,通过外网去访问,这时候就需要创建NodePort,这个在k8s搭建篇中最后部署nginx的时候有提到;,在上面我们创建了一个基于clusterIp类型的service,k8s service使用详解(云原生kubernetes),使用下面的命令创建一个基于 NodePort 的service,执行完成之后,就多了一个NodePort的service,k8s service使用详解(云原生kubernetes),使用浏览器访问下当前主机的公网IP就可以访问了(master或者node节点都可以访问);,k8s service使用详解(云原生kubernetes),通过这个命令,可以查看上述创建的NodePort详细信息;,k8s service使用详解(云原生kubernetes),可以使用下面的命令查看endpoint列表,k8s service使用详解(云原生kubernetes),Service所处的位置就如同图中展示的,处在客户端和pod之间,这就很像nginx或者其他具备网关的组件的能力了,事实上,也差不多就是我们理解的那样,一个Service的服务背后可能挂载着N多个Pod,那么具体来说,Service如何分发请求到后端的多个Pod的呢?,k8s service使用详解(云原生kubernetes),kubernetes提供了两种负载均衡策略 :,查看pod信息,显示了上面创建的以congge-deploy开头的3个nginx,k8s service使用详解(云原生kubernetes), 其实来说,这也就是对应了3个pod中的3个nginx容器,如果使用curl的方式查看其中某个nginx,可以正常输出nginx欢迎页面的内容;,k8s service使用详解(云原生kubernetes),接下来,我们只需要进入到nginx容器内部,修改下nginx欢迎页的html内容,就可以看出Service的负载均衡效果了;,进入docker容器进行html内容的修改,执行过程,k8s service使用详解(云原生kubernetes),接下来使用当前主机节点IP+图中的端口在浏览器访问下,k8s service使用详解(云原生kubernetes),我们连续访问多次,看下返回的内容如何,第一次:,k8s service使用详解(云原生kubernetes), 第二次:,k8s service使用详解(云原生kubernetes),当然,可以通过在当前节点上通过curl cluserIP的方式,效果类似,k8s service使用详解(云原生kubernetes),其实也可以查看下当前创建这个SVC的时候默认的配置,使用yaml格式输出一下,k8s service使用详解(云原生kubernetes)
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册