Proxy 改变Kubernetes';节点代理tcp保留时间
如何正确更改节点代理的TCP保留时间 我在Google容器引擎中运行Kubernetes,并设置了一个由HTTP(S)Google负载平衡器支持的入口。当我连续向入口发出POST请求时,大约每80秒就会出现一次502错误<代码>后端连接在数据发送到客户端之前关闭,这是因为GLB的tcp keepalive(600秒)大于节点代理的keepalive(不知道是什么) 中详细介绍了记录的错误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系统命名空间中
谢谢 为了理解,当您使用Google解决方案来平衡负载和管理Kubernetes入口时,您将在
kube系统
命名空间中运行GLBC
pods
您可以通过以下方式查看:
kubectl-n kube系统获取采购订单
这些POD用于路由来自实际Google负载平衡器的传入流量
我认为应该在那里配置超时,在GLBC
上。您应该检查配置GLBC所需的注释或ConfigMapGLBC
,如果有的话
您可以在此处找到详细信息:
注释和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。如果是这种情况,则超时问题与每个节点内的代理有关。