当前位置: 首页 > 知识库问答 >
问题:

如何在对Kubernetes服务的请求上使用会话关联?

田柏
2023-03-14

我找不到一个文档来指定当关联部署被多个副本缩放时,Kubernetes服务的行为。

我想应该有某种负载平衡。是否与服务类型有关?

共有1个答案

韦衡
2023-03-14

我找不到一个文档来指定当关联部署被多个副本缩放时,Kubernetes服务的行为。

使用deployment部署的Pod应该是无状态的。

当使用Ingress,L7-proxy时,路由可以基于http请求内容,但这取决于您使用的IngressController的实现。例如。Ingress-nginx对粘性会话有一定的支持,其他实现可能具有您所要的功能。例如。Istio支持类似设置。

大使

您所写的大使也支持会话亲和力/粘性会话。

配置粘性会话使大使将请求路由到给定会话中的相同后端服务。换句话说,会话中的请求由同一个Kubernetes pod提供服务

集群中的pod向集群中的服务发出http请求时,默认情况下,kube-proxy以循环方式进行路由。

默认情况下,用户空间模式下的kube-proxy通过循环算法选择后端。

如果希望在Pod到服务路由上具有会话关联,可以在service对象上设置sessionaffinity:clusterIP字段。

如果您希望确保每次都将来自特定客户端的连接传递到同一个Pod,则可以通过将service.spec.sessionaffinity设置为“ClientIP”(默认值为“none”)来根据客户端的IP地址选择会话关联。

 类似资料:
  • 目前,我在一个连接到K8s Redis服务的K8s服务中使用了K8s API Pod,并且使用了它自己的K8s Pod。问题是,我使用NodePort的意思是两个都暴露在公众面前。我只想让公众访问API。问题是,如果我使Redis服务不公开,API就看不到它。有没有一种方法可以将两个服务连接起来,同时又不会将一个服务暴露在公众面前? 这是我的API服务YAML: 这是我的Redis服务YAML:

  • 问题内容: 我的服务器上托管了一个json文件。当我尝试向json文件发出Ajax“ GET”请求时,它失败。 请参阅Safari中的控制台,其中显示“无法加载资源”。 Firebug显示“ 200 OK”,但未显示响应。甚至Firebug也不会显示JSON标签。 我相信这是因为不允许使用AJAX进行跨域请求。 我想知道如何克服这个问题?另外,如果要在服务器上启用跨域请求,则认为需要创建文件或其他

  • 本文向大家介绍ASP.NET如何使用web服务的会话状态,包括了ASP.NET如何使用web服务的会话状态的使用技巧和注意事项,需要的朋友参考一下 在web服务中要用到ASP.NET中的会话对象,有2件事情需要做。   1.WebService 类需要继承System.Web.Services.WebService类   2.WebMethod中的EnableSession属性值应该设置为true

  • 问题内容: 我试图用来刮擦需要通过登录的网站。然后,一旦我登录,便可以通过访问一个单独的网页。 第一个问题,现在被登录。我试图使用到的登录信息,但我得到的回应没有出现在被记录。 在这里,我只是转发我返回的页面,但是返回的页面仍显示登录表单,如果尝试访问另一个页面,则表示我尚未登录。 我认为我需要维护客户端会话和cookie数据,但是找不到任何资源可以帮助我了解如何做到这一点。 作为后续,我最终使用

  • 我正在使用Selenium从我注册的网站上获取一些数据,现在每次我运行该程序时,它都会打开一个新的chrome浏览器并登录到我的帐户,最后我运行了Captcha,我如何才能使它在我的帐户已经登录的情况下打开相同的浏览器会话? 现在我用的是: 谢谢!