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

Kubernetes中的暴露服务与副本集关系

阎令
2023-03-14

我有一个问题,当吊舱有几个复制品的时候,库伯内特斯是如何决定服务吊舱的。

例如,让我们假设我有一个web应用程序作为多个pod副本在k8s集群上运行,并且它们由一个服务公开。

当客户端发送请求时,它将转到service和Kube-Proxy。但是kubernetes在何时何地决定哪个吊舱应该为请求提供服务呢?

我想知道kubernetes在这件事上的内情。我们能控制这个吗?我们是否可以根据客户端请求和自定义条件来决定应该为哪个pod服务?

共有1个答案

越霖
2023-03-14

我们是否可以根据客户端请求和自定义条件来决定应该为哪个pod服务?

由于kube-proxy工作在L4负载平衡方面,因此您可以基于客户端IP控制会话。它不读取客户端请求的头。

您可以使用service obejct中的以下字段service.spec.sessionaffinityconfig控制会话

下面的命令提供解释kubectl explain service.spec.sessionaffinityconfig

下面的段落和链接提供详细的答案。

可以通过将service.spec.sessionaffinity设置为“ClientIp”(默认值为“none”)来选择基于客户端IP的会话关联,如果已经将service.spec.sessionaffinity设置为“ClientIp”(默认值为“10800”)-service-proxies,则可以通过设置字段service.spec.sessionaffinityconfig.clientip.timeoutseconds来设置最大会话粘性时间

服务对象将如下所示

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
  - name: http
    protocol: TCP
    port: 80
    targetPort: 80
  sessionAffinity: ClientIP
  sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 10000

 类似资料:
  • 主要内容:1.概述,2.doExportUrls,3. Protocol1.概述 Dubbo 服务暴露有两种方式 本地暴露,JVM 本地调用。配置如下: <dubbo:service scope=“local” /> <dubbo:service scope=“remote” /> 在不配置 scope 的情况下,默认两种方式都暴露。 2.doExportUrls 本地暴露服务的顺序图如下: 我们看到 ServiceConfig#export() 方法中,会在配置初始

  • 主要内容:1. 概述,2.本地暴露,3 远程暴露1. 概述 Dubbo 服务暴露有两种方式 本地暴露,JVM 本地调用。配置如下: 远程暴露,网络远程通信。配置如下: 在不配置 scope 的情况下,默认两种方式都暴露 2.本地暴露 2.1 doExportUrls 本地暴露服务的顺序图如下: ServiceConfig#export() 方法中,会在配置初始化完成后,调用顺序图的起点 #doExportUrls() 方法,开始暴露服务。代码如

  • 我已经在裸机ubuntu服务器上安装了kubernetes,下面是kubectl版本命令的输出 客户端版本:Version.info{Major:“1”,Minor:“6”,GitVersion:“V1.6.0”,GitCommit:“FFF5156092B56E6BD60FFF75AAD4DC9DE6B6EF37”,GitTreEstate:“Clean”,BuildDate:“2017-03-

  • 但是在我的群集上没有服务/部署: 谢谢你的帮助

  • 我正在使用go-swagger生成API服务器。我注意到json是由swagger生成的。yml保存在restapi/embedded\u spec.go中。 公开JSON规范以便我的ReactJS客户端可以访问它的最佳方式是什么? 到目前为止,我不得不使用招摇发球招摇。yml—端口=50000,并将JavaScript客户端指向本地主机:50000/swagger。json。我正在寻找一种通过A

  • 24.2 使用RMI暴露服务 使用Spring的RMI支持,你可以通过RMI基础架构透明地暴露你的服务。完成Spring的RMI设置后,你基本上具有类似于远程EJB配 置,除了没有对安全上下文传递和远程事务传递的标准支持。当使用RMI调用器时,Spring对这些额外的调用上下文提供了钩子,你可以在此插入安全框架 或者自定义的安全凭证。 24.2.1 使用RmiServiceExporter导出服务