|
| 1 | +--- |
| 2 | +title: Ingress |
| 3 | +status: Completed |
| 4 | +category: technology |
| 5 | +tags: ["fundamental"] |
| 6 | +--- |
| 7 | + |
| 8 | +Ingress — набор правил, которые помогают управлять интернет-трафиком, поступающим извне в контейнер или группу контейнеров, работающих в кластере. |
| 9 | +Он состоит из двух элементов: ресурса Ingress и Ingress-контроллера. |
| 10 | +Ресурс Ingress — это конфигурационный файл, который живет вместе с другими файлами манифестов и позволяет администраторам настраивать маршрутизацию внешнего трафика. |
| 11 | +Ingress-контроллер — технология веб-сервера, которая маршрутизирует трафик в соответствии с конфигурацией в Ingress-ресурсе. |
| 12 | + |
| 13 | +## Какую проблему решает |
| 14 | + |
| 15 | +Нативные облачные веб-приложения состоят из множества сервисов. Часто эти [сервисы](/service/) должны быть доступны через интернет, чтобы пользователи могли обратиться к ним через браузер. |
| 16 | +Чтобы сервисы приложения, запущенного в [Kubernetes](/ru/kubernetes/), стали доступными для внешнего мира, необходимо выполнить специальные действия. |
| 17 | +Проще всего было бы использовать балансировщик нагрузки Kubernetes. |
| 18 | +Но создание такого сервиса означает появление нового компонента в базовой инфраструктуре. |
| 19 | +Возникнут дополнительные затраты и накладные расходы на управление. Кроме того, у каждого вновь созданного балансировщика нагрузки будет свой собственный внешний IP-адрес. |
| 20 | +Из-за этого пострадают и сами пользователи, поскольку придётся каждый раз вводить новый URL-адрес для доступа к приложению. |
| 21 | + |
| 22 | +## Как именно решает проблему |
| 23 | + |
| 24 | +Ресурс Ingress позволяет настроить балансировку и маршрутизацию трафика к сервисам приложения. |
| 25 | +Ingress-контроллер открывает единую точку входа через URL (www.example-url.com) и выполняет фактическую маршрутизацию и балансировку, руководствуясь различными URL-путями (www.example-url.com/path). |
| 26 | +Ingress-контроллер работает в кластере и интерпретирует правила, определенные в ресурсе Ingress. |
| 27 | +Выбор конкретного Ingress-контроллера из существующих технологий (Nginx, Traefik, HAProxy и т. д.) осуществляют сами администраторы кластера, в котором работает веб-приложение. |
| 28 | +Подход на базе Ingress обеспечивает доступ к приложению по единому URL, даже если оно состоит из большого числа сервисов. |
| 29 | +Это устраняет необходимость запускать множество отдельных балансировщиков нагрузки на уровне инфраструктуры и упрощает настройку правил брандмауэра и балансировщика нагрузки для каждого сервиса. |
| 30 | +Централизуя маршрутизацию трафика и управление конфигурацией, Ingress упрощает масштабирование, оптимизирует использование ресурсов, снижает затраты и повышает общую управляемость приложений, работающих в кластере. |
0 commit comments