Подключение к MySQL (AWS RDS) в Istio - PullRequest
0 голосов
/ 14 мая 2018

У нас есть проблема, из-за которой при подключении к AWS RDS в Istio Service Mesh получается upstream connect error or disconnect/reset before header.Наше правило Egress выглядит следующим образом:

 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 

Соединение с MySQL прекрасно работает в автономном MySQL в EC2.Подключение к AWS RDS работает без Istio.Проблема возникает только в Istio Service Mesh.

Мы используем istio в конфигурации отключенного взаимного TLS.

1 Ответ

0 голосов
/ 14 мая 2018

Протокол в вашем EgressRule определении должен быть tcp.service должен содержать IP-адрес или диапазон IP-адресов в нотации CIDR.

В качестве альтернативы, вы можете использовать флаг --includeIPRanges istioctl kube-inject, чтобы указать, какие диапазоны IP-адресов обрабатываются Istio.Istio не будет вмешиваться в не включенные IP-адреса и просто позволит трафику проходить через.

Ссылки:

  1. https://istio.io/docs/tasks/traffic-management/egress-tcp.html
  2. https://istio.io/blog/2018/egress-tcp.html
  3. https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly
...