无法从Istio Envoy代理连接到SQL Server

时间:2017-11-20 07:16:48

标签: sql-server proxy istio envoyproxy

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

  

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

2 个答案:

答案 0 :(得分:2)

让Istio应用程序与外部非HTTP服务通信, 使用--includeIPRanges选项https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly

  

使用--includeIPRanges选项的最简单方法是将其传递给用于内部群集服务的IP范围,从而排除外部IP被重定向到sidecar代理。

要让Istio应用程序与外部HTTP服务通信,您必须定义出口规则:https://istio.io/docs/tasks/traffic-management/egress.html#configuring-the-external-services

答案 1 :(得分:0)

从部署的应用程序连接SQL Server时,我遇到了同样的问题

启用istio的名称空间中的

。我创建了如下所示的serviceentry来创建可访问性。

  apiVersion: networking.istio.io/v1alpha3
  kind: ServiceEntry
  metadata: 
    name: access-sql-server-from-mesh
  spec: 
    hosts: 
      - SQL_SERVER_ENDPOINT
  location: MESH_EXTERNAL
  ports: 
    -  name: tcp
       number: 3306
       protocol: TCP
  resolution: DNS



$ kubectl apply -f access-sql-server-from-mesh.yaml