Установка Ingress NGINX
Ingress NGINX
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
Установка с помощью Yandex Cloud Marketplace
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Kubernetes. -
Нажмите на имя нужного кластера и выберите вкладку
Marketplace. -
В разделе Доступные для установки приложения выберите Ingress NGINX и нажмите кнопку Перейти к установке.
-
Задайте настройки приложения:
-
Пространство имен — выберите пространство имен для Ingress NGINX или создайте новое.
-
Название приложения — укажите название приложения.
-
Количество реплик контроллера — настройте число реплик Ingress-контроллера, чтобы повысить отказоустойчивость. Если используется только одна реплика, в случае ее отказа будут недоступны приложения, развернутые с помощью Ingress-контроллера.
Значение по умолчанию —
1
. -
IP-адрес контроллера — укажите зарезервированный IP-адрес. Вы можете зарезервировать его с помощью Yandex Virtual Private Cloud.
Если не заполнить поле, Ingress-контроллеру будет присвоен динамический IP-адрес.
-
Политика управления трафиком — выберите политику управления внешним трафиком. Она соответствует параметру
externalTrafficPolicy
в спецификациях Kubernetes. Возможные значения:-
Cluster — трафик направляется на разные узлы Kubernetes (значение по умолчанию). В результате трафик распределяется равномерно, но у такого подхода есть недостатки:
- Пакет может прийти на прокси одного узла и без необходимости перенаправиться на другой узел. Такое поведение вызвает задержки во время выполнения операций и отправки пакетов.
- Под, который получает пакет, видит IP-адрес проксирующего узла, а не клиента. В результате исходный IP-адрес клиента не сохраняется.
-
Local — трафик проксируется и распределяется между подами на одном и том же узле. Трафик направляется на узел через порт, указанный в объекте Kubernetes
Service
типа LoadBalancer или NodePort .Так как трафик приходит на конкретный узел, он распределяется между узлами неравномерно. Зато IP-адрес клиента сохраняется.
Подробнее о политиках управления внешним трафиком читайте в документации Kubernetes
. -
-
-
Нажмите кнопку Установить.
-
Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Установите kubectl
и настройте его на работу с созданным кластером. -
Для установки Helm-чарта
с Ingress NGINX выполните команду:helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/ingress-nginx/chart/ingress-nginx \ --version 4.10.0 \ --untar && \ helm install \ --namespace <пространство_имен> \ --create-namespace \ ingress-nginx ./ingress-nginx/
Примечание
Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку
export HELM_EXPERIMENTAL_OCI=1 && \
, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.
Примеры использования
- Создание сетевого балансировщика с помощью Ingress-контроллера NGINX
- Установка Ingress-контроллера NGINX с менеджером для сертификатов Let's Encrypt®
- Установка Ingress-контроллера NGINX с сертификатом из Yandex Certificate Manager