Kubernetes Istio 1.7.2-有问题的WebSocket连接
我遇到与-Istio入口网关上的WebSocket连接相关的问题Kubernetes Istio 1.7.2-有问题的WebSocket连接,kubernetes,websocket,istio,Kubernetes,Websocket,Istio,我遇到与-Istio入口网关上的WebSocket连接相关的问题 我的群集: Istio-1.7.2,Kubernetes-1.18.6 我正在尝试在新配置集群上运行我的应用程序,我的应用程序在Istio 1.5.1和k8s 1.15.11上运行正常 我有一个问题,正确的WebSocket连接在内部入口通道,其余的功能正在工作 配置: I使用两种Istio入口通道: 默认外部入口通道 apiVersion: networking.istio.io/v1alpha3 kind: Gateway
我的群集: Istio-1.7.2,Kubernetes-1.18.6 我正在尝试在新配置集群上运行我的应用程序,我的应用程序在Istio 1.5.1和k8s 1.15.11上运行正常 我有一个问题,正确的WebSocket连接在内部入口通道,其余的功能正在工作 配置: I使用两种Istio入口通道:
- 默认外部入口通道
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: external-gtw namespace: istio-system labels: app: ingressgateway spec: selector: istio: ingressgateway servers: - port: number: 80 protocol: HTTP2 name: http hosts: - "*" tls: httpsRedirect: true # sends 301 redirect for http requests - port: number: 443 protocol: HTTPS name: https-default tls: mode: SIMPLE serverCertificate: "sds" privateKey: "sds" credentialName: ........ hosts: - "*"
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: internal-gtw namespace: istio-system labels: app: internal-gtw spec: selector: app: internal-ingressgateway servers: - port: number: 80 protocol: HTTP2 name: http hosts: - "*"
- 内部入口通道(集群)
[2020-10-12T10:05:16.903Z]“--HTTP/2“0 DPE”--“0 0-”--“0-”--“10.244.2.62:8080 10.244.1.16:58426”-
我在目的地服务中没有看到任何流量
我已经直接在我的目标服务上检查了websocket连接,并且它工作正常
我已尝试更改VirtualService配置-添加“websocketUpgrade:True”-但新Istio上没有此字段
Istio安装:
我使用了istioctl,我的ISTIOperator如下:
你对这些问题有什么想法吗
更新-添加配置:
外部入口通道
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: external-gtw
namespace: istio-system
labels:
app: ingressgateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
protocol: HTTP2
name: http
hosts:
- "*"
tls:
httpsRedirect: true # sends 301 redirect for http requests
- port:
number: 443
protocol: HTTPS
name: https-default
tls:
mode: SIMPLE
serverCertificate: "sds"
privateKey: "sds"
credentialName: ........
hosts:
- "*"
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: internal-gtw
namespace: istio-system
labels:
app: internal-gtw
spec:
selector:
app: internal-ingressgateway
servers:
- port:
number: 80
protocol: HTTP2
name: http
hosts:
- "*"
内部入口通道
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: external-gtw
namespace: istio-system
labels:
app: ingressgateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
protocol: HTTP2
name: http
hosts:
- "*"
tls:
httpsRedirect: true # sends 301 redirect for http requests
- port:
number: 443
protocol: HTTPS
name: https-default
tls:
mode: SIMPLE
serverCertificate: "sds"
privateKey: "sds"
credentialName: ........
hosts:
- "*"
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: internal-gtw
namespace: istio-system
labels:
app: internal-gtw
spec:
selector:
app: internal-ingressgateway
servers:
- port:
number: 80
protocol: HTTP2
name: http
hosts:
- "*"
虚拟服务
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: notificationservice
spec:
gateways:
- istio-system/internal-gtw
hosts:
- '*'
http:
- match:
- uri:
prefix: /notificationservice/
rewrite:
uri: /
route:
- destination:
host: notificationservice
DestinationRules-目前我不使用Hi,你能添加网关、虚拟服务和DestinationRules yaml清单吗?@PiotrMalec我将所有配置添加到了主帖子中。感谢investigateHmm,在我看来,http2连接升级在新版本中失败了。您能否尝试将网关/服务配置中的协议名称更改为本节所述的
http
以外的名称?此@merdokss有任何更新吗?你们能解决它吗?嗨,你们能添加网关、虚拟服务和目的地规则yaml清单吗?@PiotrMalec我把所有配置都添加到了主帖子中。感谢investigateHmm,在我看来,http2连接升级在新版本中失败了。您能否尝试将网关/服务配置中的协议名称更改为本节所述的http
以外的名称?此@merdokss有任何更新吗?你能解决它吗?