Копилка на ответ Джоны Бентона:
Хотя это технически возможно - ваша проблема не в Kubernetes, а в вашем приложении! Позвольте мне указать вам проблему:
Наше облачное приложение состоит из 3 тесно связанных Docker-контейнеров, Nginx, Web и Mongo.
Вот ваша первая проблема: можете ли вы развернуть эти три контейнера только вместе, а не независимо - вы не можете масштабировать один или другой!
Хотя MongoDB можно масштабировать до безумных нагрузок, - если он связан с вашим веб-сервером и веб-приложением, он не сможет ...
Итак, первый шаг для вас - разбить эти три компонента, чтобы ими можно было управлять независимо друг от друга. Далее:
В настоящее время мы запускаем эти контейнеры на одной машине.
Хотя это и не является проблемой - я серьезно сомневаюсь, что это будет означать масштабирование вашего приложения и какие проблемы связаны с масштабируемостью!
Как только мобильное устройство подключено к рабочему узлу, оно должно продолжать использовать только этот компьютер (уникальный IP-адрес)
Теперь это проблема. Вы хотите запустить приложение в Kubernetes, но я не думаю, что вы понимаете последствия этого: Kubernetes управляет вашими ресурсами. Это означает, что он будет перемещать модули (убивая и воссоздавая) между узлами (и, если необходимо, в один и тот же узел). Это делает его полностью автономным (что здорово и дает вам хороший ночной сон). Если вы полагаетесь на клиентов, придерживающихся IP-адреса одного узла, вы встанете посреди ночи, потому что Kubernetes попытался исправить сбой узла и перемещение вашего модуля, который теперь отсутствует, и ваши пользователи больше не могут подключиться. Вам необходимо использовать функции (услуги) балансировки нагрузки в Kubernetes. Только они способны справляться с динамическими изменениями, которые происходят в кластерах Kubernetes.
Используя Kubernetes, мы сформировали бы несколько контейнеров.
И у нас есть еще один победитель - нет! Вы пытаетесь обращаться с Kubernetes, как если бы это была ваша локальная инфраструктура! Если вы продолжите делать это, то потерпите неудачу и проклянете Кубернетеса в процессе!
Теперь, когда я рассказал вам о некоторых вещах, которые вы считаете неправильными - кем бы я был, если бы не дал несколько советов о том, как сделать эту работу:
В Kubernetes ваши три приложения не должны запускаться в одном модуле! Они должны работать в отдельных контейнерах:
Не стесняйтесь спрашивать, если у вас есть еще вопросы!