====== Как и чем заменить Ingress NGINX ====== * [[https://gateway-api.sigs.k8s.io/guides/getting-started/|Getting started with Gateway API]] * [[https://kubernetes.io/blog/2025/11/11/ingress-nginx-retirement/|Ingress NGINX Retirement: What You Need to Know]] * [[https://docs.rafay.dev/blog/2025/12/05/goodbye-to-ingress-nginx--what-happens-next/|Goodbye to Ingress NGINX – What Happens Next?]] * [[https://krisadas.medium.com/k8s-keycloak-with-traefik-ada27f62ac3e|K8S Keycloak with Traefik]] * [[https://tetrate.io/blog/migrating-from-ingress-nginx-to-envoy-gateway|Migrating from ingress-nginx to Envoy Gateway]] * [[https://habr.com/ru/companies/gnivc/articles/992366/|Прощай, Ingress. Здравствуй, Gateway API]] * [[Все что должен знать DevOps про HTML]], HTTP и REST * [[Стратегии деплоя в Kubernetes]] ===== Реклама ===== * Не так часто случается в индустрии, когда решение, долгое время используемое в качестве стандартного, вдруг оказывается без официальной поддержки. На нашем вебинаре мы обсудим причины и "как жить дальше" без Ingress NGINX, а так же узнаем, как и на что его можно заменить (спойлер: Traefik, Envoy, но, это не точно:) ===== Техническое задание ===== * Развернуть альтернативные решения, реализующие Ingress API * Проверить работу приложений, использующих Ingress API * Развернуть решения, реализующие Gateway API * Провести миграцию приложений на Gateway API ===== Запись вебинара ===== * Тэги: Ingress, NGINX, ===== Шаг 1. Что у нас есть, для начала ===== * Система Kubernetes [[Система Kubernetes#Развертывание через Kubespray]] * [[Решение FreeIPA]] ===== Шаг 2. Развертывание приложения ===== * [[Система Kubernetes#Deployment]] kube1:~/webd-k8s# cat my-webd-deployment.yaml ... image: brndnmtthws/nginx-echo-headers ... * [[Система Kubernetes#Service]] ===== Шаг 3. Доступ к приложению через Ingress NGINX ===== * [[Система Kubernetes#MetalLB]] * [[Система Kubernetes#Установка Helm]] * [[Система Kubernetes#ingress-nginx]] * [[Решение FreeIPA#Создание ключа и сертификата для стороннего сервиса]] ehwebd * [[Система Kubernetes#secrets tls]] kube1:~# kubectl create secret tls ehwebd-tls --key /tmp/ehwebd.key --cert /tmp/ehwebd.crt -n my-ns * [[Система Kubernetes#ingress example]] ===== Шаг 4. Замена Ingress NGINX на Ingress Traefik ===== kube1:~/webd-k8s# kubectl delete -f my-ingress.yaml -n my-ns * [[Система Kubernetes#ingress-traefik-controller]] kube1:~/webd-k8s# kubectl -n traefik logs pods/traefik- kube1:~/webd-k8s# cat my-ingress.yaml ... # number: 8080 number: 80 ... ===== Шаг 5. Замена Ingress на Gateway API ===== * [[Система Kubernetes#Gateway API]] * [[Система Kubernetes#Traefik]] * [[Система Kubernetes#Envoy Gateway]] * [[Система Kubernetes#Gateway]] * [[Система Kubernetes#HTTPRoute]]