Невозможно подключиться к SQL Server через прокси-сервер Istio Envoy
Я использую Istio и Envoy в качестве прокси-сервера. Я развернул пример bookinfo и он работает нормально, но когда я развертываю свое собственное приложение, которое вызывает SQL Server по https или другим внешним службам, оно дает исключение.
Соединение с сервером было успешно установлено, но во время рукопожатия перед входом в систему произошла ошибка. (поставщик: поставщик TCP, ошибка: 35 - обнаружена внутренняя исключительная ситуация)
1 ответ
Чтобы позволить приложениям Istio взаимодействовать с внешними не HTTP-сервисами, используйте параметр --includeIPRanges https://istio.io/docs/tasks/traffic-management/egress.html:
Самый простой способ использовать параметр --includeIPRanges - передать ему диапазон (ы) IP, используемый для внутренних служб кластера, тем самым исключив перенаправление внешних IP-адресов на прокси-сервер боковой панели.
Чтобы позволить приложениям Istio взаимодействовать с внешними HTTP-сервисами, вы должны определить выходные правила: https://istio.io/docs/tasks/traffic-management/egress.html.
У меня возникла такая же проблема с подключением SQL-сервера из моего приложения, которое я развернул.
в пространстве имен istio enabled. Я создал объект обслуживания, как показано ниже, для обеспечения доступности.
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