ingress-nginx

7 commands

7 shown

Дамп итоговой конфигурации nginx Показывает полный действующий nginx.conf со всеми server-блоками, которые реально сгенерировал контроллер kubectl exec deploy/ingress-nginx-controller -n ingress-nginx -- nginx -T | less #ingress-nginx#debug#troubleshooting#k8s Метрики статуса контроллера Текущие активные соединения и счётчики reading/writing/waiting с эндпоинта stub_status kubectl exec deploy/ingress-nginx-controller -n ingress-nginx -- curl -s localhost:10254/nginx_status #ingress-nginx#monitoring#performance#observability Поиск таймаутов upstream в логах Ищет таймауты бэкенда и оборванные клиентом запросы; note: 499 — клиент закрыл соединение до ответа upstream kubectl logs -n ingress-nginx deploy/ingress-nginx-controller --tail=2000 | grep -iE 'upstream timed out|504|499' #ingress-nginx#troubleshooting#network#debug Аннотация канареечного сплита трафика Направляет 20% трафика на канареечный ingress; нужен основной ingress на том же host/path kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/canary=true nginx.ingress.kubernetes.io/canary-weight="20" #ingress-nginx#ci#gitops#network Аннотации лимита запросов и размера тела Ограничивает RPS на IP клиента и поднимает лимит загрузки; burst по умолчанию 5x от rps kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/limit-rps="10" nginx.ingress.kubernetes.io/proxy-body-size="50m" #ingress-nginx#security#performance#network Rewrite-target с группой захвата Срезает префикс пути через regex-захват; путь должен содержать (/|$)(.*), чтобы $2 раскрылся kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/rewrite-target='/$2' nginx.ingress.kubernetes.io/use-regex='true' #ingress-nginx#network#troubleshooting Список ingressclass и класс по умолчанию Показывает контроллеры и какой IngressClass является дефолтным; помечен должен быть только один kubectl get ingressclass -o custom-columns='NAME:.metadata.name,DEFAULT:.metadata.annotations.ingressclass\.kubernetes\.io/is-default-class' #ingress-nginx#k8s#troubleshooting
no commands match