1

我使用IstioEnvoy 作为 sidecar 代理。我已经部署了bookinfo示例并且它工作正常,但是当我部署我自己的应用程序时,它在 https 或其他外部服务上调用 SQL Server,它给出了异常。

与服务器成功建立连接,但在登录前握手期间发生错误。(提供者:TCP 提供者,错误:35 - 捕获到内部异常)

4

2 回答 2

3

要让 Istio 应用程序与外部 TCP 服务通信,请查看这篇博文https://istio.io/latest/blog/2018/egress-tcp/

要让 Istio 应用程序与外部 HTTP 和 TLS 服务通信,请查看https://istio.io/latest/docs/tasks/traffic-management/egress/egress-control/

于 2017-11-21T09:40:23.937 回答
1

我从我的应用程序连接 SQL 服务器时遇到了同样的问题,我已经部署了

在 istio 启用的命名空间中。我创建了如下所示的 serviceentry 来创建可访问性。

 apiVersion: networking.istio.io/v1alpha3
 kind: ServiceEntry
 metadata:
   name: sql-replica
 spec:
   hosts:
     - SQL-DNS-NAME or IP 
   addresses:
     - xxx.xx.x.xxx/32 
   ports:
     - number: 5432
       name: tcp
       protocol: TCP
   location: MESH_EXTERNAL



Here in config file xxx.xx.x.xxx ip is that IP which we get by pinging to DNS
$ kubectl apply -f access-sql-server-from-mesh.yaml
于 2019-10-12T15:30:20.633 回答