Ingress Controller Layer 7 балансировка нагрузки - PullRequest
0 голосов
/ 12 января 2020

Сервисы, как определено в Service API, допускают базовый c уровень балансировки нагрузки уровня 3/4.

Вход является наиболее полезным, если вы хотите предоставить несколько сервисов под одним IP адрес, и все эти службы используют один и тот же протокол L7 (обычно HTTP).

Если входной контроллер направляет запрос на самообслуживание, и служба позволяет балансировать нагрузку циклического уровня Layer3 / 4 базового уровня c на pods, где здесь балансировка нагрузки на уровне 7? Это просто слой 7 для маршрутизации, а не для балансировки нагрузки, верно?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
   ingress.kubernetes.io/rewrite-target: /
 name: web-ingress
spec:
  rules:
  - host: kubernetes.foo.bar
    http:
      paths:
      - backend:
          serviceName: appsvc
          servicePort: 80
        path: /app

1 Ответ

1 голос
/ 12 января 2020

Основная задача Ingress - маршрутизация L7. Внутренние службы выполняют фактическую балансировку нагрузки на уровне модуля. Но некоторые контроллеры Ingress загружаются с некоторыми параметрами политики балансировки нагрузки, такими как алгоритм балансировки нагрузки, схема веса бэкенда, ограничение скорости и т. Д. c.

https://kubernetes.io/docs/concepts/services-networking/ingress/#loadbalancing

См. Функции, поддерживаемые Traefik, кроме маршрутизации L7, здесь:

https://docs.traefik.io/v1.7/configuration/backends/kubernetes/#general -аннотации

...