在Istio中连接到MySQL(AWS RDS)

在Istio中连接到MySQL(AWS RDS),mysql,amazon-web-services,kubernetes,amazon-rds,istio,Mysql,Amazon Web Services,Kubernetes,Amazon Rds,Istio,在Istio服务网格中连接到AWS RDS会导致上游连接错误或在标头之前断开连接/重置。 我们的出境规则如下 apiVersion: config.istio.io/v1alpha2 kind: EgressRule metadata: namespace: <our-namespace> name: rds-egress-rule-with spec: destination: service: <RDS End point&g

在Istio服务网格中连接到AWS RDS会导致上游连接错误或在标头之前断开连接/重置。 我们的出境规则如下

 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 
apiVersion:config.istio.io/v1alpha2 种类:白鹭 元数据: 名称空间: 名称:rds出口规则 规格: 目的地: 服务: 端口: -港口:80 协议:http -港口:443 协议:https -港口:3306 协议:https 与MySQL的连接在EC2中的独立MySQL中运行良好。在没有Istio的情况下,与AWS RDS的连接工作正常。该问题仅发生在Istio服务网格中


我们正在禁用相互TLS配置中使用istio。

您的
egresrule
定义中的协议应该是
tcp
服务
应包含IP地址或CIDR表示法中的IP地址范围

或者,您可以使用
istioctl kube inject
--includeIPRanges
标志来指定由Istio处理的IP范围。Istio不会干扰未包含的IP地址,只允许流量通过

参考资料:


  • 问题是AWS RDS不提供机器的IP,也不提供CIDR@vadim Eisenberg在这种情况下,您可以使用
    istioctl kube inject
    --includeIPRanges
    标志,请参阅。我们可以通过自动侧车喷射来完成吗?我不熟悉使用
    --includeIPRanges
    选项的自动侧车喷射的方法。