Балансировка нагрузки приложения в Kubernetes - PullRequest
1 голос
/ 21 марта 2019

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

Как бы вы, ребята, пошли на балансировку нагрузки между двумя?Классический подход заключается в настройке HAProxy с двумя бэкэндами.Это звучит правильно в контексте Kubernetes?Есть ли лучший способ выставить два развертывания на одном ресурсе Ingress Controller?

Ответы [ 2 ]

2 голосов
/ 21 марта 2019

Вы можете определить Сервис , который будет определяться селекторами меток . Запросы к службе будут распределены по развертываниям (как и при входе)

Пример:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: my-deployments
spec:
  ports:
  - port: 80
  selector:
    app: my-deployments
1 голос
/ 21 марта 2019

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

Если вы хотите распределить нагрузку по нескольким объектам развертывания, определите один сервис каждый для развертывания, ServiceA и serviceB.Вы должны использовать ha-proxy для балансировки трафика между ServiceA и serviceB.

Мы рекомендуем выбрать первый подход, если у вас нет веской причины рассмотреть второй подход

...