我们有一个问题,连接到istio服务网格中的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中运行良好。与aws rds的连接在没有istio的情况下工作正常。这个问题只发生在istio服务mesh中。
我们正在禁用相互tls配置中使用istio。
1条答案
按热度按时间mkh04yzy1#
你家里的协议
EgressRule
定义应该是tcp
. 这个service
应包含ip地址或cidr表示法中的ip地址范围。或者,您可以使用
--includeIPRanges
旗istioctl kube-inject
,以指定istio处理的ip范围。istio不会干扰未包含的ip地址,只允许流量通过。参考文献:
https://istio.io/latest/blog/2018/egress-tcp/
https://istio.io/latest/docs/tasks/traffic-management/egress/egress-control/#direct-获得外部服务