我正在尝试将dotnet核心API连接到Azure SQL上的数据库。在调试时和没有ISTIO的情况下,一切运行正常。一旦我使用ISTIO运行,它就无法工作。我尝试制作ServiceEntry,但没有帮助。你能帮忙吗?
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: azure-sql
spec:
hosts:
- <servername>.database.windows.net
addresses:
- <ip address>
ports:
- name: tcp
number: 1433
protocol: tcp
location: MESH_EXTERNAL
我在这里想念东西吗?
答案 0 :(得分:1)
我知道这是一个老问题,也许您现在已经知道了,但是以防万一其他人遇到这个问题...
SQL Azure使用网关重定向-(即,它重定向到另一台计算机和端口,因此主机和/或端口可能与白名单不同)
问题:https://github.com/istio/istio/issues/6587比我能更好地解释这一点。
建议在SQL中禁用此网关模式,但如果这样做会影响性能。
除了允许您的K8s服务YAML中的所有出站通信以外,我还没有其他方法可以解决这个问题:
...
template:
metadata:
annotations:
traffic.sidecar.istio.io/excludeOutboundIPRanges: 0.0.0.0/0
...