реплики уменьшают трафик в кластере Kubernetes с одним узлом? - PullRequest
0 голосов
/ 05 декабря 2018

Я новичок в мире kubernetes.Я пытаюсь реализовать преимущества kubernetes в моем личном проекте.

У меня есть сервис API в контейнере Docker, который извлекает данные из серверной части.

Я планирую создать несколько реплик этого сервиса API.контейнер на один внешний порт в кластере kubernetes.Разделяют ли реплики трафик, если они находятся на одном узле?

Моя конечная цель - создать несколько экземпляров этого API-сервиса, чтобы ускорить мое приложение (пользователи могут получить доступ к одному из нескольких API-сервисов, что должно снизить трафик).в одном случае).

Правильно ли я думаю с точки зрения функциональности kubernetes?

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Если вы добавите несколько экземпляров / реплик вашего веб-сервера, он будет распределять нагрузку и позволит избежать единой точки отказа.

Однако для достижения этой цели вам потребуется создать и предоставить Сервис.Вам придется общаться с использованием конечной точки службы, а не с использованием IP-адреса каждого модуля.

Служба предоставляет конечную точку.Он имеет балансировку нагрузки.Обычно он использует циклический перебор для распределения нагрузки / запросов на серверы за балансировщиком нагрузки службы.

Kubernetes управляет модулями.Стручки - обертки вокруг контейнеров.Kubernetes может планировать несколько модулей на одном узле (аппаратном обеспечении) или на нескольких узлах.Зависит от того, как вы это настроите.Вы можете использовать Deployments для управления ReplicaSets, которые управляют модулями.

Обычно рекомендуется избегать непосредственного управления модулями.Стручки могут разбиться, резко остановиться.Kubectl создаст новую для вас автоматически в зависимости от конфигурации набора реплик.

Используя развертывания, вы также можете выполнять обновления.

Вы можете обратиться к Документам Kubernetes , чтобы прочитать об этом подробно.

0 голосов
/ 14 декабря 2018

Вы правы, несколько реплик вашей службы API разделят нагрузку.В Kubernetes существует концепция Services , которая будет отправлять трафик на сервер, и в этом случае это ваше приложение API, работающее в модулях.По умолчанию выбор бэкэнда является случайным.Кроме того, не имеет значения, работают ли модули на одном узле или на разных узлах, трафик будет случайным образом распределен между всеми модулями на основе меток .

.также сделайте ваше приложение высокодоступным, потому что вы будете использовать развертывание для указания количества реплик, и всякий раз, когда количество доступных реплик меньше требуемых реплик, Kubernetes будет предоставлять новые модули для соответствия требуемому состоянию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...