Какой входной контроллер следует использовать для поддержки WebSocket в кластере AWS k8s, развернутом Kops?
У меня кластер на AWS установлен через Kops. Теперь мне нужно представить сервис WebSocket (с включенной безопасностью wss://) для внешнего мира. Существуют различные входные контроллеры, nginx, traefik, ELB, ALB. Какой из них предлагается и:
- простота развертывания и настройки
- поддержка http: //, https: //, ws: // и wss: //
1 ответ
На мой взгляд, этот вопрос основан на мнении и слишком широк. Пожалуйста, постарайтесь избегать таких вопросов, потому что нет единственного решения, которое является лучшим.
Мне удалось найти много ресурсов о nginx и websockets. У меня нет производственного опыта по настройке этого, но я думаю, что вы могли бы найти это полезным.
NGINX является популярным выбором для Ingress Controller для множества функций:
Websocket, который позволяет вам балансировать нагрузку на приложения Websocket.
Службы SSL, которые позволяют балансировать нагрузку на приложения HTTPS.
Перезаписывает, что позволяет переписать URI запроса перед отправкой его в приложение.
Постоянство сеанса (только NGINX Plus), которое гарантирует, что все запросы от одного и того же клиента всегда передаются в один и тот же внутренний контейнер.
Поддержка JWT (только NGINX Plus), которая позволяет NGINX Plus проверять подлинность запросов путем проверки веб-токенов JSON (JWT).
Самая важная часть с nginx - это аннотация, которая указывает, какие сервисы являются сервисами Websocket. Еще немного информации об использовании и настройке. Также полезно руководство по настройке входа nginx, хотя оно и о GKE, но может быть полезным.