我们遇到的问题是,在Istio Service Mesh中连接到AWS RDS会产生upstream connect error or disconnect/reset before header
。
我们的出口规则如下
apiVersion: config.istio.io/v1alpha2
kind: EgressRule
metadata:
namespace: <our-namespace>
name: rds-egress-rule-with
spec:
destination:
service: <RDS End point>
ports:
- port: 80
protocol: http
- port: 443
protocol: https
- port: 3306
protocol: https
与MySQL的连接在EC2中的独立MySQL中运行良好。没有Istio,与AWS RDS的连接可以正常工作。该问题仅发生在Istio Service Mesh中。
我们在禁用Mutual TLS配置中使用istio。
答案 0 :(得分:2)
EgressRule
定义中的协议应为tcp
。 service
应包含CIDR表示法中的IP地址或一系列IP地址。
或者,您可以使用--includeIPRanges
的{{1}}标志来指定Istio处理的IP范围。 Istio不会干扰未包含的IP地址,只允许流量通过。
参考文献: