Заставьте Istio игнорировать соединения между двумя контейнерами в одном и том же развертывании - PullRequest
0 голосов
/ 22 января 2020

У меня есть развертывание OpenShift с двумя контейнерами: основным java приложением и пользовательским сайдкаром, который выполняет мониторинг jmx основного приложения. Поэтому, когда я не внедряю коляску Istio (с аннотацией sidecar.istio.io/inject: 'false'), все работает, как я ожидаю, и jmx sidecar может установить sh соединение. Но когда я внедряю коляску Istio, у меня возникают проблемы с подключением.

Есть аннотации, такие как:

  • traffi c .sidecar.istio.io / excludeInboundPorts
  • traffi c .sidecar.istio.io / excludeOutboundPorts
  • traffi c .sidecar.istio.io / includeInboundPorts

но, похоже, они не работают, по крайней мере, в мой случай, и я не смог найти много информации о них.

Вот мой пример развертывания с соответствующей информацией, которая работает с «ложь», а не с «истинной» опцией добавления коляски Istio

apiVersion: apps/v1beta1
kind: Deployment
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: 'true'
    spec:
      containers:
      - image: mainjavaappsource
        ports:
            - containerPort: 9090
      - image: jmxsidecarsource
      dnsPolicy: ClusterFirst

Итак, вопрос - как я могу исключить перехват соединений между контейнерами в одном и том же развертывании с помощью коляски Istio?

1 Ответ

1 голос
/ 22 января 2020

Запретить прокси-серверу перехватывать трафик c, в основном означает исключить этот сервис из me sh. Просто не вводите коляску (поэтому держите эту службу вне me sh) и создайте ServiceEntry.

...