Kubernetes Ingress annotations for Harbor

When pushing large images to harbor image registry, client may run into push operation timeout due to incorrect proxy-*-timeout configuration, or 403 forbidden due to insufficient proxy-body-size configuration. The solution is to patch ingress resource of harbor. Here is an example:

metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0" # Allow large uploads, other legal values are 20000m
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "60000" # allow long-time connection
    nginx.ingress.kubernetes.io/proxy-read-timeout: "60000" # allow long-time connection
    nginx.ingress.kubernetes.io/proxy-send-timeout: "60000" # allow long-time connection
    nginx.ingress.kubernetes.io/proxy_buffering: "off" # Optional
    nginx.ingress.kubernetes.io/proxy_ignore_headers: X-Accel-Buffering # Optional
    nginx.ingress.kubernetes.io/ssl-redirect: "true" # Optional

These annotations also applies to other applications (e.g. Nextcloud and MinIO) with large uploads/downloads.




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Nextcloud
  • Unifi AP Get Started Guide
  • Docker MacVLAN Configuration Guide
  • Unifi AP Get Started Guide
  • Cheatsheet to run MANUS