Во-первых, давайте кратко рассмотрим, что такое Ingress Controller
в Kubernetes.
- Ingress Controller: контроллер, который реагирует на изменения в
Ingress
правилах и измененияхсоответственно его внутренняя конфигурация
Итак, и входной контроллер HAProxy, и входной контроллер Nginx будут прослушивать эти Ingress
изменения конфигурации и настраивать свои собственные экземпляры сервера для маршрутизации трафика, как указано в целевом Ingress
правил.Основные различия сводятся к конкретным различиям в вариантах использования между самими Nginx и HAProxy.
По большей части Nginx поставляется с большим количеством батарей для обслуживания веб-контента , например настраиваемого контентакэширование, обслуживание локальных файлов и т. д. HAProxy более урезан и лучше приспособлен для высокопроизводительных сетевых рабочих нагрузок.
Доступные конфигурации для HAProxy можно найти здесь и доступные методы конфигурациидля входного контроллера Nginx здесь .
Различия, однако, глубже, чем эти, и эти вопросы более подробно о них:
- https://serverfault.com/questions/229945/what-are-the-differences-between-haproxy-and-ngnix-in-reverse-proxy-mode
- HAProxy против Nginx