Nginx Ingress for Pulp3 deployed on Kubernetes using Operator

Problem:
I have created an ingress definition for pulp, but I keep getting 504 gateway timeout. I checked the Ingress log as well and found a timeout is happening on the web-svc side.
2022/09/12 17:53:09 [error] 8056#8056: *57160702 upstream timed out (110: Operation timed out) while connecting to upstream, client: 10.0.0.8, server: xxxxx, request: “GET / HTTP/2.0”, upstream: "http://10.1.0.6:8080/", host: “xxxxxx”

2022/09/12 17:53:14 [error] 8056#8056: *57160702 upstream timed out (110: Operation timed out) while connecting to upstream, client: 10.0.0.8, server: xxxxx, request: “GET / HTTP/2.0”, upstream: "http://10.1.0.6:8080/", host: “xxxx”

2022/09/12 17:53:19 [error] 8056#8056: *57160702 upstream timed out (110: Operation timed out) while connecting to upstream, client: 10.0.0.8, server: xxxxx, request: “GET / HTTP/2.0”, upstream: "http://10.1.0.6:8080/", host: “xxxx”
Expected outcome:

Pulpcore version:
Version 3

Pulp plugins installed and their versions:

Operating system - distribution and version:
Kuberenetes Operator

Other relevant data:
Annotations used on Kubernetes Ingress:
nginx.org/client-max-body-size: 10m
nginx.ingress.kuberenetes.io/ssl-passthrough: “true”
nginx.ingress.kuberenetes.io/ssl-redirect: “true”
nginx.ingress.kubernetes.io/proxy-body-size: 10m
nginx.ingress.kubernetes.io/proxy-connect-timeout: 120s
nginx.ingress.kubernetes.io/proxy-read-timeout: 120s
nginx.ingress.kubernetes.io/proxy-send-timeout 120s

Could you give more details?
Are you getting a timeout when trying to upload a big content? If so, you can try bumping the gunicorn, haproxy and nginx timeouts:
gunicorn_timeout: 120
haproxy_timeout: 220s
nginx_proxy_read_timeout: 200s
nginx_proxy_connect_timeout: 200s
nginx_proxy_send_timeout: 200s

No, just opening the website gives a 504 error. The nginx controller does reach however it is not able to communicate with the internal service.

This issue was seen in Pulp Operator 0.13 and was a problem with the NetworkPolicy which was not allowing the ingress controller to be in another namespace. It was resolved in version 0.14

1 Like