У меня есть развертывание 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?