В этом репозитории представлена реализация Ingress Controller для NGINX и NGINX Plus от разработчиков NGINX.
Мы ценим вклад сообщества и будем рады видеть вас на следующем звонке сообщества. На этих телеконференциях мы обсуждаем PR членов сообщества, а также проблемы, обсуждения и запросы новых функций.
Ссылка на Microsoft Teams : KIC — сортировка проблем GitHub
ID встречи: 298 140 979 789
Код доступа: jpx5TM
Slack : присоединяйтесь к нашему каналу #nginx-ingress-controller
в Slack сообщества NGINX, чтобы получать обновления и обсуждения.
Когда : 15:00 по Гринвичу / конвертация в ваш часовой пояс, каждый второй понедельник.
Даты общественных звонков |
---|
2024-10-07 |
2024-10-21 |
05.11.2024 |
2024-11-18 |
2024-12-02 |
2024-12-16 |
Контроллер NGINX Ingress работает как с NGINX, так и с NGINX Plus и поддерживает стандартные функции Ingress — маршрутизацию на основе контента и терминацию TLS/SSL.
Кроме того, некоторые функции NGINX и NGINX Plus доступны в качестве расширений ресурса Ingress через аннотации и ресурс ConfigMap. Помимо HTTP, NGINX Ingress Controller поддерживает приложения балансировки нагрузки Websocket, gRPC, TCP и UDP. См. документы ConfigMap и Annotations, чтобы узнать больше о поддерживаемых функциях и параметрах настройки.
В качестве альтернативы Ingress контроллер NGINX Ingress поддерживает ресурсы VirtualServer и VirtualServerRoute. Они позволяют использовать варианты использования, не поддерживаемые ресурсом Ingress, например разделение трафика и расширенную маршрутизацию на основе контента. См. документацию по ресурсам VirtualServer и VirtualServerRoute.
Также поддерживается балансировка нагрузки TCP, UDP и TLS Passthrough. См. документацию по ресурсам TransportServer.
Прочтите этот документ, чтобы узнать больше о контроллере входа NGINX с NGINX Plus.
Примечание
Этот проект отличается от контроллера входа NGINX в репозитории kubernetes/ingress-nginx. См. этот документ, чтобы узнать о ключевых различиях.
Ingress — это ресурс Kubernetes, который позволяет настроить балансировщик нагрузки HTTP для приложений, работающих в Kubernetes, представленных одной или несколькими службами. Такой балансировщик нагрузки необходим для доставки этих приложений клиентам за пределами кластера Kubernetes.
Ресурс Ingress поддерживает следующие возможности:
Маршрутизация на основе контента :
Маршрутизация на основе хоста . Например, маршрутизация запросов с заголовком хоста foo.example.com
в одну группу сервисов и с заголовком хоста bar.example.com
в другую группу.
Маршрутизация на основе пути . Например, маршрутизация запросов с URI, начинающимся с /serviceA
к службе A и запросов с URI, начинающимся с /serviceB
к службе B.
Завершение TLS/SSL для каждого имени хоста, например foo.example.com
.
Дополнительную информацию о ресурсе Ingress см. в руководстве пользователя Ingress.
Контроллер Ingress — это приложение, которое работает в кластере и настраивает балансировщик нагрузки HTTP в соответствии с ресурсами Ingress. Балансировщик нагрузки может быть программным балансировщиком нагрузки, работающим в кластере, или аппаратным или облачным балансировщиком нагрузки, работающим снаружи. Для разных балансировщиков нагрузки требуются разные реализации Ingress Controller.
В случае NGINX Ingress Controller развертывается в модуле вместе с балансировщиком нагрузки.
Примечание
Всю документацию следует использовать только с последней стабильной версией, указанной на странице выпусков репозитория GitHub.
Установите NGINX Ingress Controller, используя диаграмму Helm или манифесты Kubernetes.
Настройте балансировку нагрузки для простого веб-приложения:
Используйте ресурс Ingress. См. пример кафе.
Или ресурс VirtualServer. См. пример базовой конфигурации.
См. дополнительные примеры конфигурации.
Узнайте больше обо всех доступных конфигурациях и настройках в документации.
Мы публикуем выпуски NGINX Ingress Controller на GitHub. См. нашу страницу релизов.
Последняя стабильная версия — 3.7.2. Для производственного использования мы рекомендуем выбрать последнюю стабильную версию.
Edge-версия полезна для экспериментов с новыми функциями, которые еще не опубликованы в стабильной версии. Чтобы использовать его, выберите пограничную версию, созданную на основе последнего коммита из основной ветки.
Чтобы использовать NGINX Ingress Controller, вам необходим доступ к:
Образ входного контроллера NGINX.
Манифесты установки или диаграмма Helm.
Документация и примеры.
Важно, чтобы версии вышеперечисленных вещей совпадали.
В таблице ниже приведены параметры изображений, диаграммы Хелма, манифестов, документации и примеров, а также приведены ссылки на правильные версии:
Версия | Описание | Образ для NGINX | Изображение для NGINX Plus | Манифесты по установке и контрольная таблица | Документация и примеры |
---|---|---|---|---|---|
Последняя стабильная версия | Для производственного использования | Используйте образы 3.7.2 из DockerHub, GitHub Container, публичной галереи Amazon ECR или Quay.io или создайте свой собственный образ. | Используйте образы 3.7.2 из реестра контейнеров F5 или создайте свой собственный образ. | Манифесты. Шлемовая диаграмма. | Документация. Примеры. |
Крайний/Ночной | Для тестирования и экспериментов | Используйте Edge или Nightly образы из DockerHub, GitHub Container, публичной галереи Amazon ECR или Quay.io или создайте свой собственный образ. | Создайте свой собственный имидж. | Манифесты. Шлемовая диаграмма. | Документация. Примеры. |
Мы генерируем SBOM для двоичных файлов и образов Docker.
SBOM для двоичных файлов доступны на странице релизов. SBOM генерируются с помощью syft и доступны в формате SPDX.
SBOM для образов Docker доступны в репозиториях DockerHub, GitHub Container, публичной галерее Amazon ECR или Quay.io. SBOM генерируются с помощью syft и сохраняются как подтверждение в манифесте изображения.
Например, чтобы получить SBOM для linux/amd64
из Docker Hub и проанализировать его с помощью grype, вы можете запустить следующую команду:
docker buildx imagetools проверяет nginx/nginx-ingress:edge --format '{{ json (index .SBOM "linux/amd64").SPDX }}' | раздражение
Мы хотели бы услышать ваши отзывы! Если у вас есть какие-либо предложения или возникли проблемы с нашим контроллером Ingress, создайте проблему или отправьте запрос на извлечение на GitHub. Вы можете связаться с нами напрямую через Slack сообщества NGINX.
Если вы хотите внести свой вклад в проект, прочтите наше Руководство для участников.
Для клиентов NGINX Plus на NGINX Ingress Controller (при использовании с NGINX Plus) распространяется договор о поддержке.