Proxy 改变Kubernetes';节点代理tcp保留时间

Proxy 改变Kubernetes';节点代理tcp保留时间,proxy,kubernetes,load-balancing,google-kubernetes-engine,Proxy,Kubernetes,Load Balancing,Google Kubernetes Engine,如何正确更改节点代理的TCP保留时间 我在Google容器引擎中运行Kubernetes,并设置了一个由HTTP(S)Google负载平衡器支持的入口。当我连续向入口发出POST请求时,大约每80秒就会出现一次502错误后端连接在数据发送到客户端之前关闭,这是因为GLB的tcp keepalive(600秒)大于节点代理的keepalive(不知道是什么) 中详细介绍了记录的错误 谢谢 为了理解,当您使用Google解决方案来平衡负载和管理Kubernetes入口时,您将在kube系统命名空间中

如何正确更改节点代理的TCP保留时间

我在Google容器引擎中运行Kubernetes,并设置了一个由HTTP(S)Google负载平衡器支持的入口。当我连续向入口发出POST请求时,大约每80秒就会出现一次502错误<代码>后端连接在数据发送到客户端之前关闭,这是因为GLB的tcp keepalive(600秒)大于节点代理的keepalive(不知道是什么)

中详细介绍了记录的错误


谢谢

为了理解,当您使用Google解决方案来平衡负载和管理Kubernetes入口时,您将在
kube系统
命名空间中运行
GLBC
pods

您可以通过以下方式查看:

kubectl-n kube系统获取采购订单

这些POD用于路由来自实际Google负载平衡器的传入流量

我认为应该在那里配置超时,在
GLBC
上。您应该检查配置GLBC所需的注释或ConfigMap
GLBC
,如果有的话

您可以在此处找到详细信息:

就我个人而言,我现在更喜欢使用Nginx入口控制器,它具有必要的
注释
ConfigMap
支持

见:


您可以使用每个GKE集群上存在的自定义资源
BackendConfig
来配置超时和其他参数,如CDN是文档

中的示例显示了如何在入口上进行配置

这就是
BackendConfig
定义:

apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
  name: my-bsc-backendconfig
spec:
  timeoutSec: 40
  connectionDraining:
    drainingTimeoutSec: 60
这就是如何通过注释在入口定义上使用

apiVersion: v1
kind: Service
metadata:
  name: my-bsc-service
  labels:
    purpose: bsc-config-demo
  annotations:
    beta.cloud.google.com/backend-config: '{"ports": {"80":"my-bsc-backendconfig"}}'
spec:
  type: NodePort
  selector:
    purpose: bsc-config-demo
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080

唯一与GLBC相关的pod是一个l7默认后端。如果我理解正确,GLB指向所有节点,然后每个节点代理相应的pod。如果是这种情况,则超时问题与每个节点内的代理有关。