Подключитесь к экземпляру Redis из модуля с поддержкой Istio в кластере EKS - PullRequest
0 голосов
/ 10 апреля 2020

Я использую кластер EKS с включенной Istio. Я запустил экземпляр EC2, где работает сервер Redis. Кластер EKS и Redis находятся в одном VP C. Все входящие и исходящие правила разрешены для них обоих. Но, когда я пытаюсь получить доступ к экземпляру redis внутри модуля, он выдает «Сброс подключения по одноранговому узлу», в то время как он работает нормально из модуля, не являющегося istiox. В чем может быть причина?

Версия Istio: -

image: docker.io/istio/pilot:1.4.3
imagePullPolicy: IfNotPresent
image: docker.io/istio/proxyv2:1.4.3
imagePullPolicy: IfNotPresent

Я также создал Serviceentry в этом пространстве имен.

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: svc-redis
  namespace: mynamespace
spec:
  hosts:
    - "redis-X.xxx.xxxx"
  location: MESH_EXTERNAL
  ports:
    - number: 6379
      name: http
      protocol: REDIS
  resolution: NONE

1 Ответ

0 голосов
/ 10 апреля 2020

Поскольку вы используете имя домена в качестве хоста, вам необходимо установить разрешение DNS. Т.к. при установке разрешения на None. Он попытается подключиться к IP-адресу вместо использования имени домена.

Вот моя служебная запись для внешнего доступа Redis.

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: redis-svc
spec:
  hosts:
  - redis01.example.com
  ports:
  - number: 6379
    name: redis
    protocol: TCP
  resolution: DNS
  location: MESH_EXTERNAL
...