Я пытаюсь интегрировать socket.io в приложение, развернутое в Google Kubernetes Engine.Развивается локально, все отлично работает.Но после развертывания я постоянно получаю ужасный ответ 400, когда мои сокеты пытаются подключиться.Я искал на SO и других сайтах уже несколько дней, и я не нашел ничего, что решило бы мою проблему.
К сожалению, эта архитектура была создана разработчиком, которого больше нет в нашей компании,и я, конечно, не эксперт по Kubernetes или GKE, поэтому я точно не уверен, что все настроено правильно.
Вот наша настройка:
у нас есть 5 модулей приложений, которые обслуживают наше приложение и распределены по 5 облачным узлам (экземпляры GCE vm)
мы используем входной контроллер nginx (https://github.com/kubernetes/ingress-nginx) для создания балансировщика нагрузкичтобы распределить трафик между нашими узлами
Вот что я пробовал до сих пор:
- добавляя следующие комментарии к входу:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
- добавление
sessionAffinity: ClientIP
к бэкэнд-службе, на которую ссылается вход
Эти меры, похоже, не имели никакого значения, яЯ все еще получаю ответ 400. Если кто-то обрабатывал подобноеситуации или есть какие-либо советы, чтобы указать мне правильное направление, я был бы очень, очень благодарен!