Доступ к модулю K8S с поддержкой Istio из сервиса вне сетки

Допустим, служба с поддержкой Istio A выставляет порт 8080 который назван http и как таковой Istio выполняет балансировку нагрузки L7 при доступе к ней изнутри сетки.

Я хотел бы знать, есть ли способ получить доступ к этому 8080 порт из стручка / службы B у которого нет коляски Istio. В таком случае трафик будет: B -> A Envoy -> A или же B -> A Таким образом, я могу получить доступ к Aпорт, который не назван http (т. е. только балансировка нагрузки L4)

Мой конкретный вариант использования - это то, что у меня есть Prometheus (не работающий в сетке) с Prometheus Operator, который очищает сервисы, работающие в сетке напрямую (Istio Mixer не задействован; сервисы предоставляют свои собственные метрики бизнес-логики). Это работает только для меня, и только если данный сервис не называет свой порт http,

1 ответ

Если у вас включена авторизация (mTLS), она не работает, как задумано, так как в этом случае Istio пытается защитить все коммуникации между сервисами.

Вы можете отключить аутентификацию, и, если это не поможет, также попробуйте использовать вариант релиза Istio 0.2.4 (или более позднюю версию, когда вы это читаете, см. https://github.com/istio/istio/releases) и посмотрите, если проблема не устранена, если она существует, пожалуйста, подайте проблему на https://github.com/istio/issues/issues/new

В версии 0.3 (и, возможно, раньше) мы дадим вам точный контроль зерна по mTLS.

Другие вопросы по тегам