Маршрутизация служб в Kubernete с использованием Istio на основе токена JWT

#istio

#istio

Вопрос:

Я хотел бы использовать istio в моем кластере kubernetes для маршрутизации. Мой вариант использования заключается в том, что в моем кластере запущены 3 службы — A, B и C. Я хотел бы перенаправить свой трафик к этим сервисам на основе некоторого значения в токене JWT. Возможно ли это с использованием istio?

Комментарии:

1. Кажется, это было запрошено здесь, так как репозиторий также заархивирован. github.com/istio/old_mixer_repo/issues/495 . Доступно ли это сейчас?

Ответ №1:

Я обнаружил, что следующие проблемы Github # 3763, # 8444 могут иметь отношение к вашему первоначальному запросу, и, исходя из комментариев участников, функция маршрутизации сетевого трафика с помощью утверждений JWT не ожидается при дальнейшей разработке адаптера Istio Mixer.

Однако я предполагаю, что вы можете настроить HTTP-фильтры Envoy для извлечения токена JWT из заголовка HTTP и использовать опцию match для RequirementRule и применить некоторый скрипт на Lua, который обеспечит функциональность маршрутизации. Другим способом было бы использование промежуточного прокси-сервера, такого как NGINX Plus, который имеет маршрутизацию на основе содержимого с JWTs из коробки в контроллере входа NGINX для Kubernetes.