Canary traffic split annotation ingress-nginx
Route 20% of traffic to a canary ingress; needs a primary ingress on the same host/path
kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/canary=true nginx.ingress.kubernetes.io/canary-weight="20"
more ingress-nginx
all 7 commands →
Rate limit and body size annotations
kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/limit-rps="10" nginx.ingress.kubernetes.io/proxy-body-size="50m"
Rewrite-target with capture group
kubectl annotate ingress <name> -n <ns> nginx.ingress.kubernetes.io/rewrite-target='/$2' nginx.ingress.kubernetes.io/use-regex='true'
List ingressclasses and default
kubectl get ingressclass -o custom-columns='NAME:.metadata.name,DEFAULT:.metadata.annotations.ingressclass\.kubernetes\.io/is-default-class'
Dump effective nginx config
kubectl exec deploy/ingress-nginx-controller -n ingress-nginx -- nginx -T | less
Controller status metrics
kubectl exec deploy/ingress-nginx-controller -n ingress-nginx -- curl -s localhost:10254/nginx_status