Rewrite-target с группой захвата ingress-nginx
Срезает префикс пути через regex-захват; путь должен содержать (/|$)(.*), чтобы $2 раскрылся
kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/rewrite-target='/$2' nginx.ingress.kubernetes.io/use-regex='true'
more ingress-nginx
all 7 commands →
Список ingressclass и класс по умолчанию
kubectl get ingressclass -o custom-columns='NAME:.metadata.name,DEFAULT:.metadata.annotations.ingressclass\.kubernetes\.io/is-default-class'
Дамп итоговой конфигурации nginx
kubectl exec deploy/ingress-nginx-controller -n ingress-nginx -- nginx -T | less
Метрики статуса контроллера
kubectl exec deploy/ingress-nginx-controller -n ingress-nginx -- curl -s localhost:10254/nginx_status
Поиск таймаутов upstream в логах
kubectl logs -n ingress-nginx deploy/ingress-nginx-controller --tail=2000 | grep -iE 'upstream timed out|504|499'
Аннотация канареечного сплита трафика
kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/canary=true nginx.ingress.kubernetes.io/canary-weight="20"