# haproxy

Балансировщик нагрузки.

Состоит из трех служб в составе контейнера [gs/haproxy](../030_achitecture.md#дистрибутив):

- *Менеджер версий (haproxy_manager).* Отслеживает изменения в комплекте приложений. При необходимости запускает, останавливает и перезапускает менеджер конфигурации и собственно HAProxy.
- *Менеджер конфигурации (config_service).* Ведет список серверов приложений и обновляет конфигурацию HAProxy. Перезагрузка конфигурации HAProxy осуществляется через отправку ему SIGUSR2.
- *Собственно HAProxy (haproxy).* Высокопроизводительный HTTP реверс-прокси, специализированный на балансировке запросов.

Описывает Deployment с подами, состоящими из [контейнеров gs/haproxy и gs/haproxyagent](../030_achitecture.md#дистрибутив), а также необходимые ресурсы типа Service и Ingress.

## Публикация книги ресурсов

Книга ресурсов может быть опубликована через Ingress или через указание внешнего IP (external_ip).

## Конфигурационные значения

### stat_secret

Имя [секрета](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret) из которого
берется имя пользователя пароль для просмотра статистики.

Если не задано, статистика не включается.

### haproxy_tls_secret

Имя [секрета](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) из которого берутся
параметры для включения https доступа к kubernetes.

Если не задано, https не включается.
