负载均衡器的使用?负载均衡器作用?在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行着一个kube-proxy服务进程。该模式下,kube-proxy充当了一个四层负责均衡器的角色。
在kubernetes中,pod是应用的载体,我们可以通过pod的ip来访问应用,但是pod的ip地址是不固定的,也就是说不方便直接使用pod的ip来访问服务。
为了解决这个问题,kubernetes提供了服务资源,它将聚合多个提供相同服务的pod,并提供统一的入口地址。您可以通过访问服务的入口地址来访问以下pod服务。
很多时候,服务只是一个概念,真正起作用的其实是kube-proxy服务流程,运行在每个节点上。在创建服务时,所创建服务的信息会通过api-server写入etcd,kube-proxy会基于监控机制发现这个服务的变化,然后它会将最新的服务信息转换成相应的访问规则。
如果未显示此命令,则会报告一个错误。
用户空间模式
在用户空间模式下,kube-proxy将为每个服务创建一个监听端口,对集群IP的请求将根据Iptables规则被重定向到kube-proxy监控的端口。kube-proxy根据LB算法选择一个提供服务的Pod,并与之建立链接,将请求转发给Pod。在这种模式下,kube-proxy充当四层均衡器。由于kube-proxy运行在用户空间,转发时会增加内核和用户空间之间的数据拷贝,虽然比较稳定,但是效率比较低。
Iptables模式
在iptables模式下,kube-proxy在服务后端为每个Pod创建相应的iptables规则,直接将对集群IP的请求重定向到一个Pod IP。在这种模式下,kube-proxy不承担负责均衡器的四层角色,只负责创建iptables规则。这种模式的优点是比用户空间模式效率更高,但是不能提供灵活的LB策略,并且在后端Pod不可用时不能重试。
Ipvs模式
Ipvs模式类似于iptables。kube-proxy监控Pod的变化并创建相应的ipvs规则。与iptables相比,ipvs具有更高的转发效率。此外,ipvs支持更多的LB算法。
ClusterIP:默认值,是Kubernetes系统自动分配的虚拟IP,只能在集群内访问。
NodePort:通过指定节点上的端口向外部公开服务。通过这种方法,可以在群集外部访问服务。
负载平衡器:使用外部负载平衡器来完成对服务的负载分配。注意,这种模式需要外部云环境支持。
ExternalName:将集群外的服务引入集群,直接使用。
在使用服务之前,首先创建三个部署单元。注意为pod设置标签app=nginx-pod。
使用以下内容创建deployment.yaml:
ClusterIP类型服务
创建service-clusterip.yaml文件
端点
端点是kubernetes中的一个资源对象,存储在etcd中,用来记录一个服务对应的所有PODs的访问地址。它是根据服务配置文件中的选择器描述生成的。
服务由一组pod组成,这些pod通过端点公开,端点是实现实际服务的端点的集合。换句话说,服务和pod之间的连接是通过端点来实现的。
负载分配策略
对服务的访问被分发到后端Pod。目前,kubernetes提供了两种负载分配策略:
标题类型的服务
在某些场景下,开发者可能不想使用服务提供的负载均衡功能,而是希望自己控制负载均衡策略。在这种情况下,kubernetes提供HeadLiness服务,它不分配集群IP。如果要访问服务,只能通过服务的域名查询。
创建服务-标题性. yaml
节点类型的服务
在前面的示例中,创建的服务的ip地址只能在集群内部访问。如果您希望将服务公开给集群外部,您必须使用另一种类型的服务,这种类型的服务称为节点端口类型。NodePort的工作原理其实就是把服务的端口映射到Node的一个端口,然后你就可以通过NodeIp:NodePort访问服务了。
创建服务-节点端口. yaml
负载平衡器类型的服务
LoadBalancer和NodePort非常相似,它们的目的都是向外部公开一个端口。不同的是,LoadBalancer会在集群之外做一个负载均衡设备,这个设备需要外部环境的支持。外部服务发送到此设备的请求将由设备加载,然后转发到群集。
外部名称类型的服务
ExternalName类型服务用于在集群外部引入服务。它通过ExternalName属性指定外部服务的地址,然后在集群内部访问这个服务来访问外部服务。
本文来自网络,不代表「专升本要什么条件_专升本要几年_成人高考专升本_山东专升本信息网」立场,转载请注明出处:http://www.sdzsb8.cn/zsxx/30946.html