Nuw*_*era 5 javascript kubernetes google-kubernetes-engine
我尝试在谷歌云容器引擎中使用入口 HTTP(s) 负载均衡器来代理 websocket。连接建立和数据读取正常。但30秒后连接超时。Google文档(https://cloud.google.com/compute/docs/load-balancing/http/)说要更改超时值(API中的timeoutSec)
但无法找到正确的方法来做到这一点。我用谷歌云控制台尝试过。有没有办法在 .yaml 文件中设置 websocket 超时。
这是我的入口控制器。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: load-balancer
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: dash-board
servicePort: 2020
- path: /auth/*
backend:
serviceName: auth-service
servicePort: 1111
- path: /filter-service/*
backend:
serviceName: filter
servicePort: 8081
- path: /data-service/*
backend:
serviceName: data-service
servicePort: 8090
- path: /streaming/*
backend:
serviceName: streaming
servicePort: 8080
Run Code Online (Sandbox Code Playgroud)
“流”是 websocket 服务。
客户端是javascript。
$scope.webSocket=new WebSocket("ws://"+ location.host"+"/streaming/test");
$scope.webSocket.onopen = function () {
console.log("CONNECTED");
};
Run Code Online (Sandbox Code Playgroud)
提前致谢。
这里有一个解决方案。 https://cloud.google.com/compute/docs/reference/latest/backendServices
或者可以使用 Google 云控制台增加超时时间。