ANIC - Angie Ingress Controller#
Сегодня поговорим об Angie Ingress Controller (ANIC) - решении компании "Веб-Сервер" для упрощения работы с трафиком в Kubernetes.
Kubernetes — популярная система для управления контейнерами. Одной из ее задач является перенаправление
запросов к приложениям внутри этой системы. Для этого используются две вещи: Ingress и Ingress Controller.
Ingress — это точка входа для запросов, которая помогает перенаправлять и балансировать нагрузку. Но чтобы
она работала, нужен Ingress Controller. Рассказываем, как новый продукт компании "Веб-Сервер"
Angie
Ingress Controller (ANIC) помогает упростить работу с трафиком в Kubernetes.
Ingress Controller — позволяет управлять проксированием и балансировкой в соответствии с заданными настройками. При изменении настроек Ingress Controller получает сигнал и перенастраивает Ingress в соответствии с полученными данными. Таким образом, мы получаем возможность, изменяя настройки, управлять внешними запросами к приложениям, запущенным в Kubernetes кластере. Ingress может быть настроен чтобы привязать внешние URL адреса к внутренним сервисам, обеспечить балансировку трафика и обработку SSL/TLS соединений. В качестве Ingress обычно используют обратный прокси-сервер (reverse proxy).
Angie Ingress Controller (ANIC) поддерживает два типа установки: DaemonSet и Deployment.
Используйте Deployment, если необходимо установить один экземпляр Ingress Controller и динамически изменить количество экземпляров. Используйте DaemonSet при необходимости установить Ingress Controller на каждой ноде кластера.
ANIC в качестве Ingress использует веб-сервер Angie PRO. Это один из самых производительных веб-серверов в мире. Angie PRO прекрасно решает основные задачи возложенные на Ingress. Множество настроек позволяет гибко настраивать проксирование и имеет возможность динамически управлять настройками upstream групп с помощью REST интерфейса. Также Angie PRO выступает в роли L4-L7 балансировщика.
Помимо стандартных функций Angie PRO:
Позволяет создавать виртуальные сервера и имеет множество гибких настроек.
Поддерживает HTTP/2 протокол, что позволит вам принимать на слушающем сокете HTTP/2-соединения.
Поддерживает привязку сессий (sticky session) что обеспечивает привязку всех запросов внутри клиентской сессии к единственному серверу в группе upstream.
Разделение трафика (traffic splitting) позволит провести A/B тестирование и частичную выкладку (canary deploy)
Предоставляет расширенную статистику и мониторинг в режиме реального времени используя RESTful интерфейс. Предоставляется базовая информация о сервере в формате JSON, статистика по клиентским соединениям, зонам разделяемой памяти, DNS-запросам, HTTP-запросам, кэшу HTTP-ответов сессиям модуля stream, http_upstream и зонам других модулей.
Предоставляет возможность динамически управлять настройками upstream групп с помощью REST интерфейса.
Подробнее можно прочитать на нашем сайте.